状態が持続するはずのチェックボックスを持つカスタムTableViewCellを取得しました。私の問題は、tableView をカスタム セルと通信させる方法です。たとえば、ユーザーがボタンを押したときにオブジェクトを格納するときに、ユーザーがボタンを押した TableView 行を知る必要があり、それを渡すことができる必要があります。 NSUserDefaults キーに使用する TableView のキー。どうすればいいですか?
- (IBAction)flagLectureButtonPressed:(UIButton *)sender
{
NSLog(@"sender %@",sender.description);
UIImage* selectedButton=[UIImage imageNamed:@"checkmarkSelected.png"];
UIImage* unselectedButton=[UIImage imageNamed:@"checkmark.png"];
if (sender.currentImage == unselectedButton) {
[sender setSelected:YES];
[sender setImage:selectedButton forState:UIControlStateNormal];
[self saveflagButtonState:kButtonFlagged forButton:sender];
} else {
[sender setSelected:NO];
[sender setImage:unselectedButton forState:UIControlStateNormal];
[self saveflagButtonState:kButtonNormal forButton:sender];
}
}
- (void) saveflagButtonState:(ButtonState)state forButton: (UIButton *)sender
{
static int i = 0;
NSString *object;
if (state == kButtonFlagged) {
object = @"flaged";
} else if (state == kButtonNormal) {
object = @"normal";
}
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:object forKey:@"key"];
[defaults synchronize];
}
- (void) setTagLectureButton:(UIButton *)tagLectureButton
{
UIImage* selectedButton=[UIImage imageNamed:@"checkmarkSelected.png"];
UIImage* unselectedButton=[UIImage imageNamed:@"checkmark.png"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *buttonIsTaged = [defaults stringForKey:@"key"];
if (buttonIsTaged) {
[tagLectureButton setImage:selectedButton forState:UIControlStateNormal];
} else {
[tagLectureButton setImage:unselectedButton forState:UIControlStateNormal];
}
}
@end