我得到了在iOS版繼承一個UIViewController困惑,我有這符合了UICollectionViewDataSource協議(在實現文件內的專用接口),父視圖控制器。子類的UIViewController iOS中
/* Parent.m */
@interface Parent() <UICollectionViewDataSource>
// this CollectionView is connected to storyboard
@property (weak, nonatomic) IBOutlet UICollectionView *CollectionView;
@end
@implementation Parent
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.somecount;
}
@end
然後我創建一個子視圖控制器,它從父類繼承。孩子對UICollectionViewDataSource一無所知,因爲它是父母專用接口中實現的數據源。
/* child.h */
@interface child : parent
// nothing was mentioned here that parent has a method to set the count using 'somecount'
@end
然後我從mainstoryboard設置視圖控制器作爲子視圖控制器。
是怎麼來的ios得到父母的財產「somecount」的價值,併爲孩子的價值?
謝謝。
感謝羅布,我試圖調試應用程序,它會在第一行是父: @property(弱,非原子)IBOutlet中UICollectionView *的CollectionView; 我認爲它可以爲父母中的私有財產設置價值的原因是因爲故事板知道collectionView是父類的出口。 有無論如何調試故事板上的代碼,以便我可以找出起點和步驟的詳細流程。 謝謝。 – Justin
讓我明確我的問題: 1.如何找出從應用程序開始調用的代碼流,以任何方式從故事板一開始就進行調試?即初始化故事板 - 初始化集合視圖 - 初始化集合視圖的控制器 - 或初始化父母? 2.您提到「底線,孩子會自動繼承父級的所有行爲,方法和屬性。」這是否意味着子類將擁有私有屬性(在父級中聲明)?但孩子在編譯時無法訪問它們?我怎麼不能訪問我自己的財產? – Justin
這裏是鏈接:http://www.stanford。埃杜/班/ cs193p/cgi-bin目錄/ Drupal的/系統/文件/ sample_code /漂亮%20Matchismo.zip 看看在CardGameViewController和PlayingCardGameViewController, 感謝 – Justin