2012-05-08 18 views
-1

iPadアプリでは、UITableViewにエントリがないか、すべてのセルが空で、特定のボタンが押された場合は警告が表示されます。 UITableViewですべてのセルが空であるかどうかを確認する条件は何ですか?UITableViewにエントリがない場合に警告を表示する

おかげに関して

PC

+0

いくつかのコードを入力してください。どのようにあなたのテーブルビューにデータを入れますか? –

答えて

5

あなたのデータソースの数を確認してください。例えば

、アレイmyArrayData使用している場合:

if ([myArrayData count] == 0) { 
    // Do code here 
} 
-1

をさて、あなただけのすべてのセルを列挙可能性があり、彼らは何が含まれているかどうかを確認します。例:

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! 
} 
+0

これは非常に非効率的な方法です。これらのセルはデータソースから生成され、データソースは作成されたビューではなくチェックされる必要があります。 – MarkPowell

0

要件を確認するには、viewWillAppearメソッドを使用できます。

ボタンを押した場合(別のビューコントローラーであると仮定します)、ボタンを押したときに実際にBOOLを設定し、このビューコントローラー内の参照を参照することができます。

一般に、テーブルビューでは配列(またはオブジェクト)を使用して値を保持していますが、(myarray.count> 0)を見て、テーブルセルがあるかどうかを確認するだけです。

セットアップに関する詳細情報を残しておけば、より具体的なニーズにお答えすることができます。がんばろう!アダム・ジョンソンの答え

に加えて

1

あなたは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]; 
} 
0

を実装している場合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]; 
} 
+0

このようにalertViewが繰り返されますが、これはうまくいきません。 – SilentStalker

関連する問題