Ios 将信息传递回母亲视图
我想将一些对象从一个视图(2号)传递到视图1号。视图1触发视图2,在此之前,在“prepareforsque”中,我将“self”传递给第二个视图,并将其存储在变量“delegate”中。过了一段时间,我想将新创建的对象传递回视图1,我正在尝试实现它,但我得到一个错误,该方法对于该接口不可见。如何将创建的对象传递给母视图触发方法 当我声明@property someObject并对其进行合成时,它可以使用委托正常工作。是否有其他选项或我是否被迫使用委托 代码: 它工作正常,但是否有其他选项触发方法不使用该属性?像这样:Ios 将信息传递回母亲视图,ios,objective-c,Ios,Objective C,我想将一些对象从一个视图(2号)传递到视图1号。视图1触发视图2,在此之前,在“prepareforsque”中,我将“self”传递给第二个视图,并将其存储在变量“delegate”中。过了一段时间,我想将新创建的对象传递回视图1,我正在尝试实现它,但我得到一个错误,该方法对于该接口不可见。如何将创建的对象传递给母视图触发方法 当我声明@property someObject并对其进行合成时,它可以使用委托正常工作。是否有其他选项或我是否被迫使用委托 代码: 它工作正常,但是否有其他选项触发方
[((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];
}
请尝试以下链接:
请看传回数据下的第一个答案。“但这里有一个错误。”您能详细描述一下错误吗?我无法调用母方法。我忘了在“.h”文件中声明方法,这是问题吗?让我们转到您的MVC。视图使用的模型是什么?我想我们可以在这里创建一个类作为数据源,然后使用NSNotifications通知第一个视图第二个视图已关闭,或者在这里创建一个自定义委托。我已经更新了代码以获得更好的视图谢谢您的解决方案。
- (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];
}