使用点表示法和括号表示法设置属性

时间:2012-06-22 12:51:48

标签: delegates

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

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

当我这样做时:

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

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

1 个答案:

答案 0 :(得分:0)

'。'语法将根据用法调用getter和setter。但是在消息语法中我们需要像bellow一样调用显式setter。

    [[[[segue destinationViewController] viewControllers]objectAtIndex:0] setDelegate:self]