tableView:numberOfRowsInSection:
データソースメソッドでは、通常通り行数を取得します。次に、数値が0の場合は、代わりに1を返します。 tableView:cellForRowAtIndexPath:
メソッドでは、同じテストを実行します。データがない場合は、別のセルを使用してメッセージ用に設定します。
次の例では、1セクションがあり、データが文字列を含むtheArray
という名前のNSArrayインスタンス変数であることを前提としています。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSInteger num = theArray.count;
return (num ? num : 1);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell;
if(theArray.count == 0) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
cell.textLabel.text = @"No Data Found";
return cell;
}
// Normal processing here
}
うーん、私はそれがうまくいくかもしれないと思うが、私はまた、セクションを持っている、あなたはnumberOfSectionsInTableViewへの復帰を持っているようI'veは同じコードを追加しましたが、私は他の場所で配列を渡してはいけません。セクションを含めて答えを広げることができますか? – Jules
複数のセクションを含めるには、セクションをチェックして使用するアレイを決定します。他の場所に配列を渡してはいけないということはどういう意味ですか? – ughoavgfhw