現在、Exercise オブジェクトを NSMutableArray に追加するデリゲート関数を編集しています。ただし、重複したオブジェクトを追加したくはありません。代わりに、オブジェクトが既に配列にある場合は、その特定のオブジェクトに単純にアクセスしたいと思います。
これが私のコードです:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *str = cell.textLabel.text; // Retrieves the string of the selected cell.
Exercise *exerciseView = [[Exercise alloc] initWithExerciseName:str];
WorkoutManager *workoutManager = [WorkoutManager sharedInstance];
if (![[workoutManager exercises] containsObject:exerciseView]) {
[[workoutManager exercises] insertObject:exerciseView atIndex:0];
[self presentModalViewController:exerciseView animated:YES];
NSLog(@"%@", [workoutManager exercises]);
}
else {
[self presentModalViewController:exerciseView animated:YES];
NSLog(@"%@", [workoutManager exercises]);
}
}
これでうまくいくと思いましたが、コードを実行して配列を NSLogged にすると、同じセルをクリックすると 2 つの別々のオブジェクトが作成されたことがわかりました。何か助けはありますか?