1

这会正确设置委托,并且一切正常:

    UINavigationController *nc = [segue destinationViewController];
    RecipeAddViewController *rc = [nc.viewControllers objectAtIndex:0];
    rc.delegate = self;

当我做:

    [[[[[segue destinationViewController] viewControllers]objectAtIndex:0]delegate]self];

委托方法永远不会被调用。为什么是这样?

4

1 回答 1

0

这 '。' 语法将根据使用情况调用 getter 和 setter。然而,在消息语法中,我们需要像下面这样调用显式设置器。

    [[[[segue destinationViewController] viewControllers]objectAtIndex:0] setDelegate:self]
于 2014-05-15T15:09:39.597 回答