我已经设置了一个异常断点,并收到错误unrecognized selector sent to instance
实例是 UITableViewCell 本身。该应用程序使用 CoreData,当 UITextfield 结束编辑时,我想将文本保存到 NSManagedObject。
这是textFieldDidEndEditing
我的 TableViewController 中的方法:
- (void)textFieldDidEndEditing:(UITextField *)textField {
MCSwipeTableViewCell *cell = (MCSwipeTableViewCell *) textField.superview.superview;
TehdaItem *item = [self.fetchedResultsController objectAtIndexPath:[self.tableView indexPathForCell:cell]];
item.itemTitle = cell.itemLabel.text; //The exception gets thrown on this line
// itemLabel is a UITextField and itemTitle is a string attribute of TehdaItem the NSManagedObject
NSError *error;
[item.managedObjectContext save:&error];
if (![self.fetchedResultsController performFetch:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
被<UITextFieldDelegate>
设置为我的 TableViewController 并且我将它设置为 UITextField 的委托。无法真正弄清楚这里的问题是什么。
编辑:删除最后一个superview
电话MCSwipeTableViewCell *cell = (MCSwipeTableViewCell *) textField.superview.superview;
已经解决了这个问题。