我稍微MKMultiPoint
类的以下属性points
在MapKit困惑:返回一个C-阵列和存储器管理
@property (nonatomic, readonly) MKMapPoint *points
它返回结构的阵列。用pointCount
属性可以知道数组中元素的数量。因为调用者负责分配内存然后释放内存,所以我一直认为C数组只能是“返回的”类型。
如果我要写一个类似的属性,谁会为数组分配内存(可能是被调用者),更重要的是谁会释放它(可能是调用者)?这听起来有点危险。此外,上述财产的文件没有说明需要释放内存。
我缺少什么?
嗨@nil,谢谢您的回答,强调文件在该特定情况下的重要性。我假设苹果公司的文档中对'MKMultiPoint'这个'points'属性缺少一些东西。鉴于该方法的签名,我没有看到任何其他选项,调用者释放内存。否则,他们会是一个泄漏,对吧? – ptrico 2011-03-22 07:31:04
我不知道,但我的假设是说,如果没有关于它的说明,该对象拥有指针并将处理重新分配。如果事实证明是泄漏,你可以稍后尝试释放它,看看是否会阻止它 - 更好地假设它不是泄漏(因为你可以通过一些简单的测试来检测这个[如果它是一个])比写一些似乎运行良好的东西,然后一个月后,所有地狱都会因为这个“你没有怀疑的免费(......)”而变得松散。 – nil 2011-03-22 07:47:32
我现在意识到,在完全误解了这个问题的同时,我完全写了这个问题的答案。这可能没有任何帮助。 – nil 2011-03-22 07:49:00