在我的主視圖控制器中,我有一個調用彈出窗口的按鈕。由於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