如何將(NSObject, AnyObject)
類型的對象轉換爲String
類型的對象?'(NSObject,AnyObject)'不能轉換爲'字符串'
在下面的方法的第一行的末尾,as String
使編譯器錯誤:
'(NSObject, AnyObject)' is not convertible to 'String'
鑄造street
到NSString
而不是String
編譯,但我鑄造street
到String
因爲我想將其與placemark.name
進行比較,其類型爲String!
,而不是NSString
。
我知道name
和street
是自選的,但我假設他們不是nil
現在,因爲所有的地方從MKLocalSearch
返回似乎有非空的名稱和街道。
func formatPlacemark(placemark: CLPlacemark) -> (String, String) {
let street = placemark.addressDictionary["Street"] as String
if placemark.name == street {
// Do something
}
}
你怎麼知道我可以做'地標'。name == street'而不是'street.isEqualToString(placemark.name)'?我想確保我正在檢查字符串相等('isEqualToString'),而不是對象身份('==')。 – ma11hew28 2014-08-30 16:10:50
Swift自動在這兩種類型之間進行橋接,'=='是測試字符串相等的Swift方法。請參閱:https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html – vacawama 2014-08-30 16:21:43
在操場上試試。你會看到它的作品,只要你願意。在遊樂場 – vacawama 2014-08-30 16:24:42