(NSObject, AnyObject)
türünde bir nesneyi String
türüne nasıl dönüştürebilirim? Aşağıdaki yöntemin ilk satırının sonunda '(NSObject, AnyObject)', 'String' dönüştürülemez
as String
derleyici hatası neden olur:
'(NSObject, AnyObject)' is not convertible to 'String'
yerine String
derlemesinin NSString
için street
Döküm, ama yapmak istiyorum çünkü String
için street
döküm ediyorumile karşılaştırın, String!
, NSString
değil.
name
ve
street
opsiyoneldir biliyorum ama olmayan nil adları ve sokaklar var gibi tüm yerler
MKLocalSearch
döndü çünkü onlar şimdilik
nil
değiliz farz ediyorum.
func formatPlacemark(placemark: CLPlacemark) -> (String, String) {
let street = placemark.addressDictionary["Street"] as String
if placemark.name == street {
// Do something
}
}
Yerbilimini yapabileceğimi nereden biliyorsun?street.isEqualToString (placemark.name) 'yerine == street' yerine? Nesne kimliği ('==') değil, dize eşitliğini ('isEqualToString') kontrol ettiğimden emin olmak istiyorum. – ma11hew28
Swift, iki tür arasında otomatik olarak köprü oluşturur ve '==' dize eşitliğinin test edilmesinin Swift yoludur. Bkz. Https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html – vacawama
Bir Oyun Alanı'nda deneyin. İstediğiniz gibi çalıştığını göreceksiniz. – vacawama