我想将一个对象从一个视图(数字2)传递到视图编号1.视图1触发视图2,在此之前在“prepareForSeque”中我将“self”传递给第二个视图并将其存储在变量“委托”。一段时间后,我想将新创建的对象传回给视图1而我正在尝试实现它,但是我得到一个错误,该方法对于此接口是不可见的。如何将创建的对象传递给母视图触发方法?
当我声明@property someObject并将其合成时,使用委托可以正常工作。还有其他选择还是我被迫使用委托?
代码:
- (IBAction)saveAndClose:(id)sender {
KwejkModel *mod = [[KwejkModel alloc] init];
((ViewController *)self.delegate).model = mod;
}
它可以正常工作,但还有其他选项触发方法不使用该属性吗?像这样:
[((ViewController *)self.delegate) someMethod];
但这是一个错误。
这是我的代码:
查看1
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"addItemSeque"]) {
ScrollViewViewController *destViewController = segue.destinationViewController;
destViewController.delegate = self;
}
}
-(void) addNewPosition:(KwejkModel *)newKwejk
{
//for testing only this
[modelArray count];
}
视图2:
- (IBAction)saveAndClose:(id)sender {
KwejkModel *mod = [[KwejkModel alloc] init];
// ((ViewController *)self.delegate).model = mod;
//it crashes here with error:-[NSPlaceholderString initWithString:]: nil argument' but it sees method from VIEW 1
[self.delegate addNewPosition:mod];
}