2011-08-18 4 views
0

im разбор json file.the логика идет так, если нет данных в переменной с именем boy.it, чтобы войти в цикл if, и если есть данные, они должны были ввести другую часть .Но проблема в том, даже если переменная мальчик пустой (который показывает пустой в консоли) петля еще входит в еще part..cud у ребят помочь мне out..below это код ..проблема с оператором if

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
// Navigation logic may go here. Create and push another view controller. 
NSDictionary *boy=[url objectAtIndex:indexPath.row]; 
NSLog(@"the boy value:%@",boy); 
if (boy == NULL) 
{ 
Secondetailview *detailViewController1 = [[Secondetailview alloc] initWithItem:boy];  
[self.navigationController pushViewController:detailViewController1 animated:YES]; 
[detailViewController1 release];  
}else 
{ 
    FirstViewDetail *detailViewController = [[FirstViewDetail alloc] initWithItem:boy]; 

    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 
} 

} enter image description here

ответ

2

Я бы попытался использовать if (boy == nil), но это, похоже, не работает.

Вместо этого:

NSString *str = [NSString stringWithFormat:@"%@", boy]; 
if ([str isEqualToString:@""]) { 
    //boy is nil do your stuff 
} 
+0

mkay ... я попытался с помощью nil..still не сможет войти в петлю, если ... сделать не U нет никаких символов для словаря .. – kingston

+0

это абсолютно то же самое – hamstergene

+0

-1 Неправда. 'nil' ==' NULL' == '0' (примерно на последнем), потому что Objective-C просто висит на C/C++. Однако использование 'nil' гораздо более идиоматично корректно в Objective-C :-) –

-1

Измените, если условие, как показано ниже, и посмотреть, если это работает.

((boy == NULL) || ([boy count] == 0)) 
1

Заменить

if (boy == NULL) 

с

if ([boy count] == 0) 
+0

чувак его невозможно ... считать nsdictionary ... его получение разбилось – kingston

+0

У вас проблема с NSDictionary * boy = [url objectAtIndex: indexPath.row]; , Он не возвращает Словарь .. –

+0

k..if dats de case Я попытался сравнить if (url == nil) и получить тот же результат coz только его значения в URL-адресе, указанном в словаре – kingston

Смежные вопросы