このサイトと他のサイトの両方で配列のコピーに関する無数の質問を読みましたが、私が抱えている問題に直接対処するものはありません。
arrXTurbulenceValues というプロパティを宣言して合成しました。
@property (weak, nonatomic) NSArray *arrXTurbulenceValues;
@synthesize arrXTurbulenceValues;
ViewDidLoad() メソッドで配列を初期化しています。
self.arrXTurbulenceValues = [[NSArray alloc] init];
一部の処理は、値が NSMutableArray に格納されるメソッドで発生します。その処理の最後に、次のコードを使用して、NSMutableArray を NSArray プロパティにディープ コピーしようとしています。
self.arrXTurbulenceValues = [[NSMutableArray alloc] initWithArray:tempXvalues copyItems:YES];
コピーは失敗し、self.arrXTurbulenceValues は nil のままです。コピーしようとしている tempXvalues 配列に含まれる 1900 以上の NSString オブジェクトがあります。
私は何を間違っていますか?ViewDidLoad() で初期化せずに & を使用してコードをコピーしようとしました。また、プロパティを NSArray と NSMutableArray の両方として構成しようとしました。
NSString は NSCopying に応答しますか? ドキュメントを正しく読んでいれば、そう思われます。
Objective C に結合された iOS 環境は悪夢です。あれほど扱いにくいものは見たことがありません。うーん。