我稍微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