我有一个viewcontroller,其核心数据模型填充了uitableview。我正在尝试设置它,以便我可以点击uitableview中的项目,将该项目传递到第二个viewcontroller上的uitextfield,在那里可以编辑它然后保存回我的核心数据模型。
准备segue
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"EditItemSegue"])
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
Item *item = [[self fetchedResultsController]objectAtIndexPath:indexPath];
[segue.destinationViewController setItemname:[item valueForKey:@"itemname"]];
}
}
错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[EditItem setItemname:]: unrecognized selector sent to instance
我很确定错误表明我正在尝试对不允许的对象执行操作。
一些帮助。推进正确的方向将不胜感激。
edititem.h
#import "ViewController.h"
@interface EditItem : ViewController
@property (strong, nonatomic) IBOutlet UITextField *editItemField;
@property (nonatomic, strong) NSString *toDoItemName;
@end
edititem.m
#import "EditItem.h"
@interface EditItem ()
@end
@implementation EditItem
@synthesize editItemField;
@synthesize toDoItemName;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
editItemField.text = toDoItemName;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
修改
这是我在viewWillLoad
中尝试过的 - (void)viewWillAppear:(BOOL)animated
{
[editItemField setText:toDoItemName];
}
答案 0 :(得分:1)
当您致电setItemname:
时,您正在致电setToDoItemName:
。