0

再現手順:
1. 「TestApp」という名前のタブ バー アプリケーションを作成します
。 2. 「Table」という名前の XIB ユーザー インターフェイスを持つ UIViewController サブクラスの新しいファイルを追加します
。 3. MainWindows.xib を開き、2 番目のタブ バー項目をクリックします。インスペクターは、NIB 名を「SecondView」から「Table」に変更します。保存して閉じます。
4. Table.xib を開き、TableView をビューの上にドラッグします。ここで、TableView の dataSource アウトレットとデリゲート アウトレットを Table.xib ファイルの所有者にリンクします。
5. 次のコードを Table.m に追加します。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"Returning num sections");
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Returning num rows");
return 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Trying to return cell");

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
cell.text = @"Hello";
NSLog(@"Returning cell");
return cell;
}

6. アプリケーションを実行し、[2 番目のタブ バー] 項目を選択します。

View ベースのアプリケーションから開始する場合は、それに TableView を追加し、アウトレットをファイルの所有者にリンクし、そのコードを追加すると、すべて正常に動作します。私は何を間違っていますか?アプリケーションがクラッシュするのはなぜですか?

4

1 に答える 1

0

Interface Builder で NIB Name を Table に更新した後、インスペクターの Identity タブ (最後のタブ) をクリックします。次に、クラス ID を「テーブル」に更新しました。

于 2010-05-29T21:05:46.390 に答える