我給NSMutableArray
添加對象之後,它就變成nil
了(在NSLog中檢查的)
代碼
guests = [[NSMutableArray alloc]init];
guests = [localDictionary objectForKey:@"guestsArray"];
[guests addObject:@"1"];
[guests addObject:@"12"];
[guests addObject:@"31"];
if(guests == nil)
{
NSLog(@"WHY?");
}
請大家幫忙指點一下為什麼會這樣和怎麼解決,謝謝
guests = [[NSMutableArray alloc]init];
guests = [localDictionary objectForKey:@"guestsArray"];
寫法錯誤。。。建議 你理解下 內存管理這塊。。。你這樣用明顯是 objective新手。。。
個人建議:去網上多看看 開源代碼,主要看邏輯這塊,看看他們是怎麼書寫的格式。。。如果你不用ARC,guests會造成內存洩漏。而現在的情況是,你用了ARC,而且重新賦予了地址,所以guests以前的內存被釋放(因為編譯器理解為,運行這個方法後,guests內存是可以釋放掉的),並且你將guests 指針變量 賦予了一個 空地址。