0

現在、私は iPhone プロジェクトに取り組んでおり、クラスのインスタンスを使用していますが、NSMutableArray突然、理由もなく、実行時にNSMutableArrayUICachedDeviceRGBColor使用できなくなります。

どうすればいいのかわからない、同じオブジェクトが今日まで正常に動作していました。

このエラーが発生しました:

*** -[UICachedDeviceRGBColor count]: unrecognized selector sent to instance 0x4b3e440
4

1 に答える 1

4

次回は、コメントではなく質問にコードを貼り付けてください。ここではうまくフォーマットされています:

NSMutableArray *currentIngsGroup = [[NSMutableArray alloc] init];
currentIngsGroup = (NSMutableArray *)[allIngredientGroups objectAtIndex:0];
NSLog(@"accesing array %d", [currentIngsGroup count]); 

通常、あなたが説明する症状は、あなたが何かを過剰に放出していることを示していると思います. ただし、このコードは、Objective-C に対する理解が根本的に欠如していることを示しています。Objective-Cの紹介ドキュメントを読むことをお勧めします。

特に、コードの最初の行で NSMutableArray のインスタンスを割り当てています。ただし、2 行目では、変更可能な配列参照を、allIngredientGroups配列のインデックス 0 にあるオブジェクトへの参照で即座に上書きします。

(NSMutableArray *)まったく不要です。配列内のオブジェクトが可変配列であることを強制することはありません。また、キャストを-objectAtIndex:返すため(id)、キャストは必要ありません。

ところで:最初の行に割り当てられた配列がリークされています。もう一度、objective-c の紹介を読んで理由を理解してください。

于 2009-10-01T18:16:40.630 に答える