0

編集可能な文字列の配列を計画しています。最初にプロパティを作成しました:

@property (strong, nonatomic) NSMutableArray *history;

それから私は怠惰な説明をしました:

- (NSMutableArray *)history
{
    if (!_history) _history=[NSMutableArray array];
    return _history;
}

さて、配列にオブジェクトを追加したいだけの場合:

[self.history addObject:self.game.text]

(self.game.text は NSString ですが、Objective C では、任意のタイプのクラスを受け取る必要があると言われています)

そして...その単純な方法でさえ機能していません。エラーは発生しません。シミュレーターが黒い画面のままで、画面の魔女が「Theard 1: signal SIGABRT」と表示します。

修正を開始する方法さえわかりません...(次の行をコメントとしてコメントすると、アプリは正常に動作します。その単純な行が問題を引き起こしているようです)

4

1 に答える 1

3

メモリ管理、自動解放、弱い (プロパティ) ネス、および ARC の夢の中に住んでいるため、聞いたことのないこれらすべての恐ろしいこと。

それを修正するには:

if (!_history) self.history = [NSMutableArray array];
return _history;
于 2013-02-08T19:38:18.950 に答える