2011-09-18 5 views
0

ビューにはビューベースのアプリケーションとUITableviewがあります。 テーブルビューをクリックすると、dataSource、delegate、tableViewを「File's Owner」に設定します。 ファイル所有者をクリックします。テーブルビューをTable Viewに設定し、ビューを表示し、データソースをTable Viewに、テーブルビューをTableビューに委譲します。アウトレット。ビューベースのアプリケーション内のUItableview

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
} 


- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)videoView { 

    return 1; 

} 

// Customize the number of rows in the table view. 

- (NSInteger)videoView:(UITableView *)videoView numberOfRowsInSection:(NSInteger)section { 

    return 0; 
} 

// Customize the appearance of table view cells. 

- (UITableViewCell *)videoView:(UITableView *)videoView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [videoView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 

     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 

    } 

    // Set up the cell... 
    return cell; 

} 


- (void)tableView:(UITableView *)videoView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

} 


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

私は次のエラー が取得シミュレータ用アプリケーションを実行すると

を「のtableView:numberOfRowsInSection::]認識されていないセレクタがインスタンスに0x6029710 を送ったが、」私はtableviewsが異なる実装が必要な感覚を得ますナビゲーションベースのアプリケーションではなくビューベースのアプリケーションで使用されます。これを正しく表示するためには、誰かが私を何かに導くことができれば非常に感謝します。

答えて

0

デリゲートの実装では、tableViewをvideoViewに変更することはできません。必要があります:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return 0; 
} 

他のcellForRowAtIndexPathも同様に修正する必要があります。

+0

あなたは正しいです。問題を修正しました。 – UnlimitedMeals

+0

偉大な - あなたがチェックマークであなたが一番好きな答えをマークしてください:) –

2

ビューベースまたはナビゲーションベースのどちらのアプリケーションでも実装は同じです。このエラーメッセージは、テーブルビューがtableView:numberOfRowsInSection:をデータソースで呼び出そうとしましたが、データソースがその名前のメソッドを実装していないことを示しています。確かに、サンプルコードを見て、tableView:numberOfRowsInSection:の代わりにvideoView:numberOfRowsInSection:というメソッドを実装します。

+0

ありがとう...問題と思われた – UnlimitedMeals

0

私はテーブルビューにデータソース、デリゲートとのtableViewに「ファイルの所有者」私は、私はテーブルビューに のtableViewを設定したファイルの所有者をクリックしてテーブルビューに クリック、ビューを表示するには、データソースを設定し、 アウトレットのテーブルビューへの委任。

ここで行ったことを理解するのは難しいです。テーブルのデータソースをテーブルビュー自体に設定しますか?

私は次のエラー 取得シミュレータ用アプリケーションを実行する「のtableView:numberOfRowsInSectionを:]を:認識されていないセレクタが インスタンス0x6029710に送信された」

アドレス0x6029710では何物でしょうか?テーブルのデータソースとして設定するのは確かにオブジェクトですが、UITableViewDataSourceプロトコルを実装していません。

私は、ビューベースのアプリケーションではなく、ナビゲーションベース のアプリケーションで使用された場合tableviewsが異なる実装 を必要とする感覚を得ます。

「ビューベースのアプリケーション」と「ナビゲーションベースのアプリケーション」の違いはありません。 「ビューベース」と「ナビゲーションベース」のプロジェクトテンプレートがありますが、それらはアプリの2つの異なる出発点に過ぎません。 UITableViewはあなたが使っているものを気にしません。

関連する問題