2011-06-22 13 views
1

私は、カスタムUITableViewCellsに取り組んでリンゴからTouchCells例に出くわしてきた:私はどのようにアプリケーションの負荷を把握することはできませんTouchCells Example ProjectAppleコードサンプル:TouchCells、どのように機能しますか?

。あなたはAppDelegate.mを見れば、あなたはこれを参照してください。

DetailViewControllerをロードするように思われる
- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
// create window and set up table view controller 
detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
detailViewController.loadView; 

[window addSubview:navController.view]; 
[window makeKeyAndVisible]; 
} 

ただし、アプリが読み込まれると、タイトルTouchCellsがロードされたMyTableViewControllerタイプのUITableViewControllerがあります。私はMainWindow.xibを見て、MyTableViewController(私が知る限り)はありません。私はMyTableViewController.m

- (void)viewDidLoad 
{ 
// load our data from a plist file inside our app bundle 
NSString *path = [[NSBundle mainBundle] pathForResource:@"tableData"  ofType:@"plist"]; 
self.dataArray = [NSMutableArray arrayWithContentsOfFile:path]; 
} 

にブレークポイントを置くとき

、ブレークポイントはAppDelegate.mからapplicationDidFinishLaunchingにブレークポイントの前にヒットしました。私はこれがMyTableViewControllerが最初に読み込まれていることを意味すると思いますが、コードのどこにその呼び出しがあるのか​​理解できていません。

TouchCellsの例の論理的な流れを理解できますか?

おかげ

回答

は、選択した答えはそれで正しい情報を持っていますが、提供回答@Calebは、その情報を取得する方法を示しています。 applicationDidFinishLaunchingがインターフェイスビルダー接続がすでに設定されますと呼ばれる

おかげでみんな

答えて

1

。したがって、初期化が必要なクラスは、applicationDidFinishLaunchingの前に呼び出されます。 MainWindow.xibの内側

ナビゲーションを展開します。あなたがすると思っている場合はどのような方法は、あなたのブレークポイントは、XCodeの4

アップデートでデバッグナビゲーターの内側にヒットしたら、それはスタックトレースをたどる呼んでいますMyTableViewControllerが見つかります。

expansion button

あなたはナビゲーションコントローラに含まれるオブジェクトを見てみましょうよそれ:あなたはXcodeの4を使用している、あなたはIBドックエリアの下部にある小さな拡張]ボタンをクリックすることができますと仮定

+0

「MyTableViewController」が宣言されている場所が見つかりません。 'MainWindow.xib'や' AppDelegate.m'にはありません。 –

+0

これは 'MainWindow.xib'にあります。ナビゲーションコントローラを開きます。'MyTableViewController'はそのルートビューコントローラです。 –

0

、次のように:

document structure

今、あなたは、メインnibがロードされたときMyTableViewControllerは、ナビゲーションコントローラのルートコントローラとして作成されていることがわかります。これを行うもう1つの方法は、エディタ - >文書構造で表示コマンドを使用することです。

関連する問題