我有一個運行可靠的一個複雜的應用程序,但我很困惑,爲什麼我需要保留一個特定的NSArray(「源」)兩次防止崩潰(儘管沒有異常被報道在控制檯上,但應用程序崩潰並返回到跳板)。需要兩次保留一個NSArray以避免崩潰 - 爲什麼?
代碼的一個片段包含下面。有太多的代碼來粘貼它們,但你有我的話說,沒有明確的調用來釋放數組。 'sources'是一個實例變量。
如果我只保留了陣列一次(或者根本沒有),我得到的崩潰。有兩個保留,該應用程序是完全穩定的。爲什麼我需要保留該數組兩次讚賞
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Sources" ofType:@"plist"];
sources = [[NSArray arrayWithContentsOfFile:plistPath] autorelease];
[sources retain];
[sources retain];
思考。提前致謝。
感謝查克和其他人的回覆,很感激。 – Snips 2010-11-11 01:46:46