NSMutableArray から文字列 valur を選択し、plist に保存する必要があります。テーブル ビューに情報を表示する NSMutableArray を作成しました。最大許容インデックスは 8 です (例では 2 つだけ貼り付けます)。
String が存在しない場合の問題です。次のエラーが発生します。sDict は、データをプロパティ リスト ファイルに保存するための辞書です。
コード:
- (IBAction)save:(id)sender {
(...)
NSString *One;
NSString *Two;
...etc
if ([self.smOne objectAtIndex:0])
One = [self.smOne objectAtIndex:0];
if ([self.smOne objectAtIndex:1])
Two = [self.smOne objectAtIndex:1];
...etc
if (One)
[sDict setObject:[self.smTwo objectAtIndex:0]
forKey:[UserM stringByAppendingString:One]];
[sDict setObject:[self.smThree objectAtIndex:0]
forKey:[UserS stringByAppendingString:One]];
[sDict setObject:[self.smFour objectAtIndex:0]
forKey:[UserP stringByAppendingString:One]];
if (Two)
[sDict setObject:[self.smTwo objectAtIndex:1]
forKey:[UserM stringByAppendingString:Two]];
[sDict setObject:[self.smThree objectAtIndex:1]
forKey:[UserS stringByAppendingString:Two]];
[sDict setObject:[self.smFour objectAtIndex:1]
forKey:[UserParM stringByAppendingString:Two]];
...etc
}
このコードは、すべてのオブジェクトが存在する場合に機能しますが、インデックスにあるオブジェクトの 1 つが見つからない場合は失敗します。オブジェクトが存在するかどうかを正しく確認する方法が本当にわかりません。上記のコードがうまく機能しないようです。
[self.smOne count] で試してみましたが、条件を作成するために Int または String として渡すのが問題でした。ご回答ありがとうございます。