The following Objective-C statement does not work correctly.
cell.templateTitle.text=[(NSDictionary*) [self.inSearchMode?self.templates:self.filteredTemplates objectAtIndex:indexPath.row] objectForKey:@"title"];
However, if I split it into an if() , it works fine.
if(self.inSearchMode){ categorize=[(NSDictionary*)[self.filteredTemplates objectAtIndex:indexPath.row] objectForKey:@"categorize"]; } else { categorize=[(NSDictionary*)[self.templates objectAtIndex:indexPath.row] objectForKey:@"categorize"]; }
What are the limitations of using a ternary operator in Objective-C? In other languages, such as C #, the above three-dimensional operator would work correctly.
source share