次のObjective-Cステートメントは正しく動作しません。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#のような他の言語では、上記の3つのステートメントは正しく動作していました。
どのようなエラーを得るのですか? –
エラーはありません。ちょうどその結果はゼロです。 – ChrisP
コードは同じではありません。コードの両方のビットは、正反対のテンプレートに正確にアクセスします。それらのうちの1つは間違っており、どちらを言うのも不可能です。 – gnasher729