【发布时间】:2012-04-04 12:00:02
【问题描述】:
将 JSONKit.h 和 JSONKit.m 文件导入我的项目后,我收到以下错误。我浏览了又浏览了,但似乎没有人遇到过这些问题?
我所做的只是导入文件并构建,然后我得到了这个
是我忘记导入还是...??????
【问题讨论】:
将 JSONKit.h 和 JSONKit.m 文件导入我的项目后,我收到以下错误。我浏览了又浏览了,但似乎没有人遇到过这些问题?
我所做的只是导入文件并构建,然后我得到了这个
是我忘记导入还是...??????
【问题讨论】:
您可以在 JSONKit 文件中禁用 ARC(自动引用计数)。
一般步骤是:
更多详情请参考这篇帖子:iOS 5 Best Practice (Release/retain?)。
希望对你有帮助。
编辑
经过讨论,我们还有一些其他的方案来解决这个问题。例如,您可以将 JSONKit 转换为 ARC 兼容的。但是根据Mike Weller的说法,转换起来会很困难,因为JSONKit使用malloc来管理内存。
我认为使用-fno-objc-arc编译器标志是一种低风险且方便的解决问题的方法。
【讨论】:
tangqiaoboy 的回答会解决这些错误,但您也可以考虑使用 NSJSONSerialization 类。它使将 NSDictionarys 和 NSArrays 转换为 JSON 变得非常容易,反之亦然。
祝你好运!
【讨论】:
NSJSONSerialization只存在于ios5中。如果我们要支持 ios4,我们必须使用 3rd part lib。
您可以按照以下步骤将您的项目转换为ARC 兼容的
转到Edit menu -> Refactor -> Convert to Objective-C ARC...
或者,如果您 do not 想在当前项目中使用 ARC,请按照 tangqiaoboy 的步骤操作。
【讨论】:
alloc 分配对象。否则 ARC 将尝试释放 JSONKit 对象,假设它们已由系统分配。这行不通。