-1

tableView に結果がない場合にアラートを表示したいと考えています。以下のように numberOfRowsInSection を使用していますが、アラートは表示されません。何か問題があった場合に備えて、カウントをチェックする if ステートメントも削除しました。アラートが表示されない理由を知っている人はいますか? どんな助けでも素晴らしいでしょう。ありがとう!

if ([self.listItems count] == 0)




- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

if (tableView == self.searchDisplayController.searchResultsTableView) {
    return [self.filteredListItems count];
}

else {
    return [self.listItems count]; 
    if ([self.listItems count] == 0) {

    //CALL ALERT HERE    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Results" message:@"No 
    results were found" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];

    }    
    }
}
4

3 に答える 3

2

アラートを表示する前に戻ったため、表示されません。

else {
    return [self.listItems count]; 
...
于 2013-03-05T06:33:03.830 に答える
0

問題がこの行return [self.listItems count]; であることを確認してください。理由は、実行がこれを超えていないことです。次のように変更します。

else 
{
    if ([self.listItems count] == 0) 
    {
         //CALL ALERT HERE    
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Results" message:@"No 
         results were found" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
         [alert show];
         return;
    }
    return [self.listItems count]; 
}
于 2013-03-05T06:33:57.807 に答える
0

check if 条件の後に return ステートメントを記述します。

   if ([self.listItems count] == 0) {

    //CALL ALERT HERE    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Results" message:@"No 
    results were found" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];

    }  
return [self.listItems count];   
于 2013-03-05T06:34:18.650 に答える