我想在Objective C中聲明一個二維數組作爲實例變量。我已經在頭部(數據)中獲得了NSMutableArray以及@property(nonatomic ,保留)。在viewDidLoad中:我有:Objective C二維數組內存問題
data = [[NSMutableArray alloc] init];
[data addObject:[[NSArray alloc] initWithObjects:@"Cheese", @"Meat", @"Veggie", nil]];
[data addObject:[[NSArray alloc] initWithObjects:@"Sandwich", @"Soup", @"Stew", nil]];
我的NSLog的方法中的陣列,它是正確的,但是當我嘗試從一個單獨的方法登錄它,我什麼也得不到(只是「@」),如果我嘗試訪問與
NSInteger num = [[data objectAtIndex:component] count];
它崩潰在日誌中沒有錯誤。我相信這是與不正確分配內存有關,但是我是Obj C的新手,並且在很多年裏都沒有使用過C風格的語言。 FWIW,我已經嘗試過很多變種,包括使用NSArray而不是mutable,[NSArray arrayWithObjects]而不是[[NSArray alloc] initWithObjects],以及它們之間的每個組合。
忽略最後的評論,對不起。我假設你已經檢查和組件在數組的範圍內? – Dre 2011-02-17 03:31:27