程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> objective c-為什麼NSMutableArray是nil

objective c-為什麼NSMutableArray是nil

編輯:編程綜合問答
為什麼NSMutableArray是nil

我給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 指針變量 賦予了一個 空地址。

a21064346
starwar2012
starwar2012
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved