我遇到過這種在過去的單一多個條件環路多個條件if語句
if ([[dict objectForKey:@"name"] rangeOfString:@「AB」].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@「CD」].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@「EF」].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@「GH」].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@「IJ」].location != NSNotFound ||){
// do something
}
其中我變爲代碼:
NSArray *myArray = [NSArray arrayWithObjects:@「AB」,
@"CD", @"EF", @"GH", @"IJ", nil];
for (id object in myArray) {
if ([[dict objectForKey:@"name」] rangeOfString: id].location != NSNotFound){
// do something
break;
}
}
我明白可讀性更改代碼後更好。它有沒有其他的優勢?
什麼,即時通訊意識到,但在這裏只是被肛門,你應該讓你像'對(字符串<#字符串名稱#>在myarray的)'相反,如果你願意,你可以改變'[字典環objectForKey:@「name」]'只是'dict [@「name」]''但是這是否值得商榷是否更具可讀性(不太明確,但我喜歡的更少混亂) – Fonix
爲什麼使用C標籤? –
我同意代碼是用Objective-C編寫的,但是我覺得這個用例也適用於C語言。將刪除標記。 – Vishvesh