-1

重複の可能性:
NSMutableArrayaddObjectが機能しない

.hファイルで(nonatomic、retain)として宣言されたNSMutableArrayがあり、適切に合成されています。tempRandomWordは、常に入力されるNSStringです。ただし、countは常に0を返します。理由は何ですか。

[pastWords addObject:tempRandomWord];
int count=[pastWords count];
NSLog(@"%i",count);
4

2 に答える 2

0

アレイの初期化を忘れている可能性があります。viewDidLoadまたは他の場所にこの行が必要です

pastWords = [NSMutableArray array];

私は個人的に、次のように必要な場所に配置するのが好きです。

if (!pastWords) {
    pastWords = [NSMutableArray array];
}

[pastwords addObject:object];
于 2012-07-20T19:31:10.413 に答える
0

アレイが初期化されていません。プロパティを読み取ったり使用したりする前に、どこかに遅延初期化を追加するだけです。

self.pastWords=self.pastWords?self.pastWords:[NSMutableArray array];

または、iVarsを直接使用する場合:

pastWords=pastWords?pastWords:[NSMutableArray new];

またはinitの通常の初期化

クラスの外部からそのプロパティを割り当てる場合は、NSArrayが割り当てられている場合でも、mutableCopyを呼び出して、可変配列が使用されていることを確認することができます。

于 2012-07-20T20:06:40.353 に答える