我正在解析位置列表,並希望基於這些位置返回帶有標誌的UIImage。幫助用循環從可能的匹配項返回UIImage
我有一個字符串的位置。這可能是許多不同的位置,我想在NSArray中搜索此字符串以查找可能的匹配,並且當匹配時,它應該在NSDictionary中找到適當的文件名。
這裏是的NSDictionary的NSArray和的例子:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"franceFlag", @"france",
@"greeceFlag", @"greece",
@"spainFlag", @"spain",
@"norwayFlag", @"norway",
nil];
NSArray *array = [NSArray arrayWithObjects:
@"france"
@"greece"
@"spain"
@"portugal"
@"ireland"
@"norway",
nil];
很顯然,我必須在這兩個有更多的國家和標誌。
這裏是我有這麼遠:
-(UIImage *)flagFromOrigin:(NSString *)locationString {
NSRange range;
for (NSString *arrayString in countryArray) {
range = [[locationString lowercaseString] rangeOfString:arrayString];
if (range.location != NSNotFound) {
return [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[dictionary objectForKey: arrayString] ofType:@"png"]];
}
}
return nil;
}
現在,上述不實際工作。我錯過了一些東西(也許甚至沒有正確地做到這一點)問題是,locationString可能在同一個國家有幾個位置,描述了這樣的「巴塞羅那,西班牙」,「馬德里,西班牙」,「北西班牙「等,但我只想在這種情況下檢索」西班牙「。 (另外,每個國家的通知上限)。
基本上,我想搜索locationString我傳入的方法與NSArray中列出的國家之一可能的匹配。如果/當找到一個,它應該繼續到NSDictionary中,並根據數組中正確的匹配字符串獲取適當的標誌。我相信最好的方法是從數組中取出字符串,因爲這將是一個精簡版的位置。
任何幫助指向我在最後一位正確的方向是非常感謝。
OK,我可能不應該再提出問題這個清晨。我編輯了上述內容,因爲我找到了一個可行的解決方案。我改變的唯一辦法是將「locationString」轉換爲小寫。如果有人需要做類似的事情,我會留下這個問題:) – runmad 2010-05-18 11:45:50