0
我有以下聲明的實用程序方法,其中「players」是一個NSMutableArray對象和我的應用程序的視圖控制器的屬性。我的問題是,在這個方法被調用後,「玩家」仍然有0個對象。添加項目到NSMutableArray與功能結果在no
-(void)addPlayerNamed:(NSString *)name withLife:(NSNumber *)life{
NSMutableDictionary *newPlayer = [NSMutableDictionary dictionaryWithCapacity:1];
[newPlayer setObject:life forKey:name];
[players addObject:newPlayer];
}
如果'players'是一個帶有'retain'屬性的屬性,除非使用'autorelease'或者使用方便的方法'[NSMutableArray array]',否則它將會泄漏。 – dreamlax 2010-08-11 00:22:54
更具描述性的是,您需要創建一個數組並將其指針存儲在'players'實例變量中。在你做之前,變量包含'nil',指向沒有對象的指針。如果您從筆尖加載代碼,則不需要在代碼中創建視圖;只要你在IB上連接了插座,加載筆尖將爲你設置插座變量。在這種情況下,因爲你沒有從nib加載數組(這是不可能的),你需要在代碼中創建它。 (我提到這是因爲有些人錯過了這個並創建了一個多餘的對象,然後不知不覺地用一個筆尖打斷了它。) – 2010-08-11 05:51:35