2011-11-16 41 views
0

當我在iOS5上正確使用4.2的代碼時,出現了一個奇怪的問題。在iOS5中使用indexPath值問題

問題在於tableview indexpath。我試圖在導致iOS5崩潰的同一類的另一個方法中獲取indexpath值。

2個小時後,我設法通過做出一些我想分享的改變來解決問題。

.h文件中

NSIndexpath *indexPathValue; 

@property(nonatomic, copy) NSIndexpath *indexPath; 

.m文件方法的cellForRowAtIndexPath

self.indexPathValue = indexPath; 

和所使用的indexPathValue實例任何需要的地方。希望這個幫助。

+0

這不是問題。 – jrturton

回答

1

該屬性可以具有retain屬性,而不是copy屬性;它會正常工作,只要你記得使用setter方法,只要你想爲它分配:

self.indexPathValue = indexPath; 

您當前的代碼將指針而不嘗試保留以任何方式(不使用合成的setter方法),它會在一段時間後導致崩潰。

+0

他目前的代碼不會複製任何內容,也不會,因爲您好**直接將**值賦予** ivar **。屬性可以有'copy'屬性,這是可以的。 'copy'與'retain'幾乎相同,除了會創建實例的新副本('retain'將使用對內存中原始對象的引用) –