如何将(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