UISwitchカスタムセル(テーブルビューのすべてのセル)を持つテーブルビューがあります。
私は自分のセルを次のように設定しました:
switchView = [[UISwitch alloc] initWithFrame:CGRectMake(200.0f, 5.0f, 75.0f, 30.0f)];
cell.accessoryView = switchView;
[switchView setOn:NO animated:NO];
[switchView addTarget:self action:@selector(favorite:) forControlEvents:UIControlEventValueChanged];
[cell addSubview:switchView];
ユーザーが を変更したときに呼び出されるアクションUISwitchは次のとおりです。
-(IBAction)favorite:(id)sender 
{
    indexPath = [self.tableView indexPathForCell:(UITableViewCell*)[sender superview]];
    NSMutableArray *favoriteList = [[NSMutableArray alloc]init];
    NSString *favoriteItem = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;
    NSLog(favoriteItem);
    if ([switchView isOn]) 
    {
        [favoriteList addObject:favoriteItem];
        NSUserDefaults *favoriteDefaults = [NSUserDefaults standardUserDefaults];
        [favoriteDefaults setObject:favoriteList forKey:@"MyFavorites"];
        NSLog(@"%@", favoriteList);
    }
    else
    {
        [favoriteList removeObject:favoriteItem];
        NSUserDefaults *favoriteDefaults = [NSUserDefaults standardUserDefaults];
        [favoriteDefaults setObject:favoriteList forKey:@"MyFavorites"];
        NSLog(@"%@", favoriteList);
    }
}
問題は
、アプリをテストするときに、テーブル ビューの最後の項目 (セル) だけが正しく機能することです。
その他の場合、デバッガーは の状態UISwitchが常に「OFF」であることを返します。
何が問題ですか?