2014-11-08 51 views
0

所以,我在看從parse Anypic教程here 的代碼,我的問題是這樣的:父子UIViewControllers IOS

有這2個視圖控制器:

@interface PAPHomeViewController : PAPPhotoTimelineViewController 


@end 

and this one : 

@interface PAPPhotoTimelineViewController : PFQueryTableViewController <PAPPhotoHeaderViewDelegate> 

- (PAPPhotoHeaderView *)dequeueReusableSectionHeaderView; 

@end 

我有一個SEGUE假設打開homeViewController。

這兩者之間有什麼關係?兩個視圖控制器都實現了viewDidLoad函數 - 它們都被調用。他們以什麼順序叫?他們中的任何一個都優先於另一個?我不明白擴展另一個視圖控制器的視圖控制器的想法。

我可以讓我的HomeViewController擴展UIViewController和PhotoTimeline在HomeViewController中啓動,給定一個特定的框架?

回答

1

推測PAPHomeViewController是你實際正在實例化的那個。如果是這樣的話,那麼它的viewDidLoad被調用,如果它有。如果PAPHomeViewController在其viewDidLoad方法內調用[super viewDidLoad],那麼將在該點調用PAPPhotoTimelineViewController。反過來,如果PAPPhotoTimelineViewController調用[super viewDidLoad],則將調用PFQueryTableViewController的viewDidLoad。

此過程將繼續一直到UIViewController的viewDidLoad方法。

你問

什麼是這兩者之間的關係?

我強烈建議您停止編程一下,並閱讀基本的編程原則。特別閱讀任何你可以找到關於「實現繼承」的東西。

相關問題