在我的主视图控制器中,我有一个调用弹出窗口的按钮。由于popover有它自己的视图控制器,它的按钮调用popover视图控制器中的方法。但是,我将如何从主视图控制器调用一个方法?iOS:从单独的视图控制器调用方法
我试过了。在酥料饼的视图控制器我在.H
@class ViewController;
@interface PopoverContent : UIViewController <UITextFieldDelegate>
...
@property (strong, nonatomic) ViewController *parentView;
添加的属性在我酥料饼的实现我这样做在viewDidLoad中:
self.parentView = [[ViewController alloc] initWithNibName:nil bundle:nil];
在视图控制器我有一个名为generateHash方法,所以我尝试
[parentView generateHash];
但我得到的错误:
No visible @interface for 'ViewController' declares selector 'generateHash'
任何想法我做错了什么?由于
如果你使用这种方法,对'parentView'的引用应该很弱。如果它很强大,那么最终可能会有一个强大的引用周期,并且这些对象将永远不会在ARC下解除分配。 (是的,我意识到这取决于父母是否强烈地引用了“孩子”PopoverContent实例 - 它现在可能会发生,或者很可能会在将来修改代码时使用)。 –
很有用,谢谢。建议如上所述更改它。 – Augie
我有点困惑,我注意到当我在弹出窗口视图控制器中声明按钮时,对于目标我可以添加'self.parentViewController',但没有任何方法被调用。似乎这是最简单的方法(但似乎并不奏效) – inorganik