iPadアプリでは、UITableViewにエントリがないか、すべてのセルが空で、特定のボタンが押された場合は警告が表示されます。 UITableViewですべてのセルが空であるかどうかを確認する条件は何ですか?UITableViewにエントリがない場合に警告を表示する
おかげに関して
PC
iPadアプリでは、UITableViewにエントリがないか、すべてのセルが空で、特定のボタンが押された場合は警告が表示されます。 UITableViewですべてのセルが空であるかどうかを確認する条件は何ですか?UITableViewにエントリがない場合に警告を表示する
おかげに関して
PC
あなたのデータソースの数を確認してください。例えば
、アレイmyArrayData
使用している場合:
if ([myArrayData count] == 0) {
// Do code here
}
をさて、あなただけのすべてのセルを列挙可能性があり、彼らは何が含まれているかどうかを確認します。例:
BOOL isEmpty = false;
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]];
// Then depending on what kind of value you have in it...
if (cell.textLabel.text == @""){
// Keep going through the enumeration until there's actually something and then set isEmpty to true!
}
これは非常に非効率的な方法です。これらのセルはデータソースから生成され、データソースは作成されたビューではなくチェックされる必要があります。 – MarkPowell
要件を確認するには、viewWillAppearメソッドを使用できます。
ボタンを押した場合(別のビューコントローラーであると仮定します)、ボタンを押したときに実際にBOOLを設定し、このビューコントローラー内の参照を参照することができます。
一般に、テーブルビューでは配列(またはオブジェクト)を使用して値を保持していますが、(myarray.count> 0)を見て、テーブルセルがあるかどうかを確認するだけです。
セットアップに関する詳細情報を残しておけば、より具体的なニーズにお答えすることができます。がんばろう!アダム・ジョンソンの答え
に加えて
あなたはCoreDataを使用する場合は、行数を検出することができ、あなたのデータはコアデータから来て、あなたがNSFetchedResultController
if ([self.fetchedResultsController.fetchedObjects count] > 0) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"UIAlertView"
message:@"My message" delegate:self cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
}
を実装している場合numberOfRowInSectionによってテーブルに書き込まれます。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
if (sectionInfo.numberOfObjects == 0) {
//Here you can use your code
}
return [sectionInfo numberOfObjects];
}
このようにalertViewが繰り返されますが、これはうまくいきません。 – SilentStalker
いくつかのコードを入力してください。どのようにあなたのテーブルビューにデータを入れますか? –