将信息传递回母亲视图

时间:2014-07-09 19:21:32

标签: ios objective-c

我想将一个对象从一个视图(数字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];
}

1 个答案:

答案 0 :(得分:1)

试试此链接:Passing Data between View Controllers

查看传递数据背后的第一个答案。