NSUserDefaultsを使用して配列を保存しようとしています。私はそれを私のアプリの他の部分で動作させるようになりました、そして私はそれが今動作しない理由を理解できないようです。userDefaults-arrayに(null)を追加しているようですが、追加しようとしているもの([mainDelegate.globalValdaFragor objectAtIndex:i])をNSLogすると、入力したい値が表示されます。
問題は、「felPaFragor」配列に何も追加できないことです。NSLogを実行しようとすると(null)になり、別の「ランダム」配列で試行すると機能するように見えます。
RPAppDelegate *mainDelegate = (RPAppDelegate *)[[UIApplication sharedApplication]delegate];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *felPaFragor = [[NSMutableArray alloc] init];
felPaFragor = [[defaults valueForKey:@"felFragorArray"] mutableCopy];
[felPaFragor addObject:[mainDelegate.globalValdaFragor objectAtIndex:i]];
[defaults setObject:felPaFragor forKey:@"felFragorArray"];
どんな助けでも大歓迎です。
編集:私はそれを理解したと思います。空の配列のmutableCopyを作成しようとしていたようで、その結果、「felPaFragor」配列がバグになりました。これを追加すると機能しました。
felPaFragor = [[NSMutableArray alloc] init];
if ([[defaults valueForKey:@"felFragorArray"] objectAtIndex:0] != NULL) {
felPaFragor = [[defaults valueForKey:@"felFragorArray"] mutableCopy];
}