Iphone 除了dataFromPropertyList:format:errorDescription:之外,还有其他方法不遵循对象所有权策略的基本规则吗?

Iphone 除了dataFromPropertyList:format:errorDescription:之外,还有其他方法不遵循对象所有权策略的基本规则吗?,iphone,cocoa-touch,memory-management,Iphone,Cocoa Touch,Memory Management,正如Apple所说,dataFromPropertyList:format:errorDescription:方法不遵循对象所有权策略。方法参考描述了它。我曾尝试搜索“需要由调用方释放”,但没有有用的结果 以下是参考文献中的一段引用: 不同于 的常规内存管理规则 Cocoa,返回的字符串为errorString 需要由调用方释放 我几乎可以肯定的是,这并不是唯一一个发生这种政策例外的情况 这是一个文档错误。这对于MacOSX10.4和更早版本是正确的,但对于针对10.5SDK编译的Mac程序则不

正如Apple所说,dataFromPropertyList:format:errorDescription:方法不遵循对象所有权策略。方法参考描述了它。我曾尝试搜索“需要由调用方释放”,但没有有用的结果

以下是参考文献中的一段引用:

不同于 的常规内存管理规则 Cocoa,返回的字符串为errorString 需要由调用方释放


我几乎可以肯定的是,这并不是唯一一个发生这种政策例外的情况

这是一个文档错误。这对于MacOSX10.4和更早版本是正确的,但对于针对10.5SDK编译的Mac程序则不正确。我相信iPhone也不是这样,但还没有测试过。(要进行测试,请生成错误,释放字符串,然后查看是否崩溃。)

我所知道的解决同一问题的唯一其他方法是
+propertyListFromData:mutabilityOption:format:errorDescription:
,它同时被修复


当10.5SDK发布时,我在文档中提交了一个bug(),其中有您对这两种方法引用的警告。警告已删除,但似乎已重新读取。我已经请求重新打开该bug。

总结一下:这种行为是旧版本框架中的一个bug。它被记录在案,因为苹果将其修正为10.5版本。这并不是内存管理规则的几个故意例外之一。