将managedobject从uitableview传递到textfield以在核心数据模型中进行编辑

时间:2015-06-11 16:18:01

标签: ios objective-c iphone uitableview

我有一个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];
}

1 个答案:

答案 0 :(得分:1)

当您致电setItemname:时,您正在致电setToDoItemName: