簡體   English   中英

在iPhone上創建分組表視圖控制器的最佳方法是什么?

[英]What's the best way to create grouped table view controllers on the iphone?

UITableViewController有一個initWithStyle方法,您可以在其中傳遞希望表視圖使用的樣式(普通樣式或分組樣式)。 這意味着要在代碼中的其他位置(可能在多個地方)創建並使用我的表視圖控制器,請執行以下操作:

MyViewController *myViewController = [[MyViewController alloc] initWithStyle: UITableViewStyleGrouped];
[self.navigationController pushViewController: myViewController animated: YES];
[myViewController release];

這些對我來說似乎是倒退的。 使用我的UITableViewController的類不應該知道或關心它是否使用分組樣式或純樣式,這是MyViewController應該注意的一個問題。 處理此問題的慣用方式是什么? 重寫MyViewController中的init方法以調用initWithStyle嗎?

我只是通過xcode創建一個表視圖控制器,在Interface Builder中為表分配分組樣式,然后在必要時覆蓋init方法:

- (id)init {
    self = [super initWithNibName:@"MyViewControllerNibFileName" bundle:nil];
    if (self) {
        // Do other customisation
    }
    return self;
}

由於某些原因,我需要顯式設置筆尖名稱,但有時視圖控制器會自動找到它(我仍然是新手,所以不確定為什么會這樣)

在覆蓋調用另一個父類的超類上的一個init方法時要小心。 我在這里不確定,但是如果您在子類中覆蓋init並調用父類時,如果initWithStyle allready調用了父類中的init,並且您可能會遇到一個循環。

作為新手,我的回答是“隨便做”,然后再擔心哲學設計問題。 我所見過的所有示例(包括熱門書籍)都具有這種“模式”,因此不會太錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM