从modalViewController中调用父方法

时间:2011-11-07 19:03:55

标签: iphone objective-c ios

我使用

添加了一个viewcontroller
[self presentModalViewController:vectorView animated:YES];

但是从内部想要在父视图控制器内调用一个方法。

我读了this个问题,发现可以这样做,在父母中设置一个变量:

self.parentViewController.myString = aString;

但有没有办法调用方法并通过这种方式发送一些变量?

例如

self.parentViewController.myMethod; //Which does not work

2 个答案:

答案 0 :(得分:3)

与您发送的任何其他消息没有什么不同:

[self.parentViewController myMethod:param1 withParam:param2];

请注意,iOS 5中parentViewController属性的行为已更改:

  

在iOS 5.0之前,如果视图没有父视图控制器并且以模态方式呈现,则将返回呈现它的视图控制器。这已不再是这种情况。您可以使用presentViewController属性获取呈现视图控制器。

答案 1 :(得分:3)

要添加Ole Begemann回答,您可以将视图控制器转换为静音警告

if ([self.parentViewController isKindOfClass:[YourParentViewController class]])
    [(YourParentViewController*)self.parentViewController yourMethod];