2013-12-19 55 views
1

我有一個擴展UIViewController的類X.令我吃驚的這個類可以有下面的代碼:UIViewController的navigationController屬性

[self.navigationController popViewControllerAnimated:YES]; 

navigationController據我看到的,是一類在UINavigationController.h增加一個屬性:

@interface UIViewController (UINavigationControllerItem) 
@property(nonatomic,readonly,retain) UINavigationController *navigationController; 
@end 

我的類擴展的UIViewController,不UINavigationController,我看不到這個類別被引用。我以爲我必須導入該類別才能訪問由它聲明的成員。那麼UIViewController如何訪問在另一個不相關頭文件中聲明的屬性呢?

感謝, 亞諾什

+0

它已經通過添加「」爲您導入,請考慮UINavigationController然後導入「UINavigationController.h」以使用UINavigationController? UIButton如何? UILabel?..同樣的東西.. – andykkt

+0

是的,非常感謝!我現在可以睡了;) – Janos

回答

1

根據蘋果文檔的UIViewController有navigationController屬性:

在視圖控制器層次結構是一個導航控制器的最近的祖先。 (只讀)。 如果接收器或其祖先之一是導航控制器的子項,則此屬性包含擁有的導航控制器。如果視圖控制器未嵌入到導航控制器中,則此屬性爲零。

請參閱UIViewController文檔。

+0

謝謝yursol,但我的問題本質上有點更一般。我不明白如何在不明確引用引入它的類別的情況下引用屬性或方法。正如shaik在上面的評論中指出的那樣,它通過UIKit/UIKit.h import被間接引用。謝謝,Janos – Janos

相關問題