2011-06-26 8 views
0

UIViewのサブビューとしてUITableViewを表示しようとしています。UITableViewのデータをサブビューとして追加しました

以下のアクションをトリガーすると、ビューは表示されますがデータは含まれません。

- (IBAction)youwin 
{  
    UITableView *HSView = [[UITableView alloc] initWithFrame:CGRectMake(200,200,500,600)] ; 
    [self.view addSubview:HSView]; 
} 

HSView.mファイル内のコードがトリガされていないようです。

HSView.hはメインコントローラにインポートされます。

私には何が欠けていますか?あなたのコード内

答えて

1

いくつかの問題があります: - メモリー管理の呼び出しがバランスされないよう

  1. あなたはメモリをリークしています。サブビューとして追加した後、作成したインスタンスを解放する必要があります。
  2. UITableViewのインスタンスを作成するときは、それが正しく動作するようにdelegatedataSourceのプロパティを設定する必要があります。 dataSourceオブジェクトはコンテンツを提供するオブジェクトであり、それがなければ空のテーブルビューを取得します。
  3. HSView.hと言われているので、HSViewはクラスです。その場合UITableView *HSViewが間違っています。 HSViewをインスタンス化する場合は、HSView * hsView = ...を実行します。 UITableViewのサブクラスの場合は、ポイント2も保持されます。
+0

こんにちははい、あなたが正しい、HSViewは別々のクラスであるので、私はそれを変更し、私の質問;-) より良い答えてくれてありがとう: 'HSView * hsView = [[のUITableViewのalloc ] initWithFrame:CGRectMake(200,200,500,600)]; [self.view addSubview:hsView]; [hsView reloadData]; ' これも追加する必要がありますか?私がアプリケーションが失敗した場合... '[hsView setDelegate:self]; [hsView setDataSource:self]; ' 私はそれもリリースする必要があることを知っています。 私の基本的な質問はお詫びになっています... –

+0

まず、HSView * hsView = [[HSView alloc] initWithFrame:CGRectMake(200、200、500、600)スタイル:UITableViewStylePlain];データを表示するための 'HSView'オブジェクトのデリゲートとデータソースを設定する必要があります。 –

+0

もう一つは、 'self'のクラスは' UITableViewDelegate'と 'UITableViewDataSource'プロトコルを採用し、データを満たすのに必要なメソッドを実装するべきです。 –

関連する問題