0

にオブジェクトを追加すると、次の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?");
}

なぜそれが起こっているのか、何か考えはありますか?何を確認すればよいですか?

4

2 に答える 2

8

[localDictionary objectForKey:@"guestsArray"]ゼロだからです。

于 2012-12-25T14:19:34.890 に答える
3

最初の行で NSMutableArray を作成し、辞書から取得したオブジェクトを変数に再割り当てします。

guestArray キーを使用して localDictionary のオブジェクトからオブジェクトを追加する場合は、代わりにこれを使用します。

guests = [[NSMutableArray alloc] initWithArray:[localDictionary objectForKey:@"guestsArray"]];

これにより、「guestsArray オブジェクト」が localDictionary に存在しなくても、ゲスト配列は nil になりません。

于 2012-12-25T14:19:52.847 に答える