2013-10-22 60 views
0

在應用程序中使用位置管理器以下代碼在iOS7之前工作,現在與iOS7,我得到「??」逃逸。我正在查找狀態來檢索州的縮寫。該位置mananger正確檢索狀態(如果我編碼使用「狀態」它會給我所需的狀態),但查找到plist文件(設置爲字典對象)以獲取縮寫,無論出於何種原因失敗,並給「??」選項。任何想法是怎麼回事?IOS升級到7.0問題與字典查找

NSString *state = placemark.administrativeArea; 
NSString *stateAbbreviation = [self.usStateAbbreviations objectForKey:[state uppercaseString]]; 
NSString *stateTarget = state; 

if (stateAbbreviation) { 
    stateTarget = stateAbbreviation; 
}else{ 
    stateTarget = @"??"; 
} 

回答

0

從另一個question

對於iOS6的我得到的行政區域(前 「加利福尼亞」)的全名,但對於iOS7,我得到的「CA」的價值。

所以,這似乎是狀態已經是stateAbbreviation上iOS7,所以關鍵是不同的,你沒有得到一個結果:

[self.usStateAbbreviations objectForKey:[state uppercaseString]]; 

根據蘋果CLPlacemark的文檔:

此屬性中的字符串可以是拼寫出的 admin存在區域或其指定的縮寫。例如,如果 地標位置是Apple的總部,則此屬性的值爲 將是字符串「CA」或「California」。

所以似乎沒有保證,一種方式或其他。