我有一個(希望愚蠢的)iPhone編程問題。我試圖從我創建的對象中獲取一個字符串,並將其存儲在AppDelegates NSMutableArray中 - 是否有一個原因,當我嘗試訪問(通過appdelegates數組或其控制器副本)時,我總是遇到EXC_BAD_ACCESS錯誤,我的NSMutableArray在cellForRowAtIndexPath方法中,但沒有任何問題在我的ViewDidLoad方法中?任何想法讚賞!函數在viewDidLoad中工作,但不是CellForRowAtIndexPath - 爲什麼?
在我的 「viewDidLoad中」 的方法,我有以下代碼:
appDelegate = (Social_Cost_TrackerAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate setArray];
myCompanies = appDelegate.companies;
NSLog(@"Important Value: %i",[myCompanies count]);
Company *c = [myCompanies objectAtIndex:0];
NSString *me = [c cname];
NSLog(@"2nd Val: %@", me);
在我 「的cellForRowAtIndexPath」 我有以下代碼:
NSLog(@"Problem Spot--myCompanies-Size: %i",[myCompanies count]);
Company *c = [myCompanies objectAtIndex:0];
NSString *me = [c cname];
NSLog(@"2nd Val: %@", me);
然而,在 「的cellForRowAtIndexPath」 方法,我得到以下錯誤:
Program received signal: 「EXC_BAD_ACCESS」.
我在做什麼錯,爲什麼我可以得到一個大小在我的數組中,但不是一個對象?我有點難過......謝謝你的任何想法! (P.S.我不是一名iPhone/Objective-C開發人員 - 只是在一個側面項目中進行一些學習)。
下面是我的調試器輸出: 2009-11-19 18:42:57.883社會成本跟蹤器[688:207]重要價值:5 2009-11-19 18:42:57.883社會成本跟蹤器[688: 207] 2nd Val:UCBrewers 2009-11-19 18:42:57.885社會成本跟蹤器[688:207]問題點 - 我的公司 - 大小:5 編程接收信號:「EXC_BAD_ACCESS」。
謝謝馬特, 我有我的財產設置如下,並且我也合成myCompanies。 @property(nonatomic,retain)NSMutableArray * myCompanies; 我試着用「保留」來看看它是否以某種方式工作了魔法,但到目前爲止還沒有運氣:(我也試着用保留在.m文件中的方式來描述,但仍然得到這個補充exc_bad_access消息。想法?? – 2009-11-20 05:12:23
哪一行在cellForRowAtIndexPath中失敗?當你使用NSLog(@「Contents:%@」,myCompanies)打印整個數組內容時,你會得到什麼;在cellForRowAtIndexPath中? – 2009-11-20 16:24:57