質問

xcodeアナライザーは、メソッドが+1の保持カウントを持つObjective-Cオブジェクトを返すことを教えてくれます。 ここに画像の説明を入力

しかし、self.athletesは、関数の外部でも必要なオブジェクトです...この警告を解決するにはどうすればよいですか? もう一度ありがとう

アスリートは次のように宣言されています: ジェネラコディセタグプレ

役に立ちましたか?

解決

その行を次の行に置き換えます: ジェネラコディセタグプレ

ここに完全な説明を書きました:保持属性を持つプロパティのメモリ管理

他のヒント

あなたのプロパティは "RETAIN"で定義されているので、ドット表記を使用して追加の保持になります。[[NSMUTABLEARRAY ALLOC] INIT]からの戻り値は1の保持数を持ち、プロパティ宣言によって生成されたセッター関数を使用してプロパティを設定したとき、それは保持数2の保持数を持ちます。

修正するか、

self.athletes = [NSMutableArray array]; // Returns an autoreleased object
.

または、これを行うこともできます。

athletes = [[NSMutableArray alloc] init]; // Doesn't use the setter generated by the property declaration, so doesn't retain again.
.

これを処理するための優れた方法があります(UIの作成時にこのパターンをすでに使用しています)。

NSMutableArray * athletesTemp= [[NSMutableArray alloc] init];

self.athletes= athletesTemp;

[athletesTempリリース];

ここでは、自動解放オブジェクトの負荷を運ぶ必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top