Следующий оператор Objective C не работает правильно.
cell.templateTitle.text=[(NSDictionary*) [self.inSearchMode?self.templates:self.filteredTemplates objectAtIndex:indexPath.row] objectForKey:@"title"];
Однако, если я разделю его на оператор if()
, он будет работать нормально.
if(self.inSearchMode){
categorize=[(NSDictionary*)[self.filteredTemplates objectAtIndex:indexPath.row] objectForKey:@"categorize"];
} else {
categorize=[(NSDictionary*)[self.templates objectAtIndex:indexPath.row] objectForKey:@"categorize"];
}
Что такоеограничения использования тернарного оператора в Objective-C?В других языках, таких как C #, вышеприведенное троичное выражение работало бы корректно.