ボタンがタップされたときに、セグメント化されたコントロールの値に基づいて条件付きでテーブル ビューをリロードしたいと思います。
したがって、私の buttonTapped メソッドには、配列項目をランダムに選択するこのコードがあります。ブロックではelse、選択したアイテムを配列から削除して、同じアイテムが再度選択されるのを防ぎたいと考えています。現在、配列から削除しています...
しかし、おそらく-mutableCopy配列の を作成し、そこから項目を削除することで、ボタンがタップされる前の状態にアプリを戻す機能が必要です。
アイテムを再度選択できないことを示すには、どのようなオプションが必要ですか? グレーアウト?色変更?行を削除しますか?
if (selectionControl.selectedSegmentIndex == 0) {
int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
} else {
//copyOfArray = [APP_DELEGATE.....]mutableCopy]; // Maybe?
int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
}
[[[APP_DELEGATE itemsDictionary] objectForKey:category] removeObjectAtIndex:r];
//[copyOfArray removeObjectAtIndex:r]; // Maybe?
[self.tableView reloadData];
}
各 tableView メソッドで、APP_DELEGATE またはコピーから値を返す前に、selectionControl の状態を確認する必要があります。
ありがとう。