मैं टाइप (NSObject, AnyObject)
प्रकार String
पर किसी ऑब्जेक्ट को कैसे परिवर्तित करूं?'(NSObject, AnyObject)' 'स्ट्रिंग' 0 परिवर्तनीय नहीं है
नीचे दी गई विधि की पहली पंक्ति के अंत में, as String
संकलक त्रुटि होती है:
'(NSObject, AnyObject)' is not convertible to 'String'
String
compiles के बजाय NSString
में कास्ट करना street
, लेकिन मैं String
को street
कास्टिंग रहा हूँ क्योंकि मैं चाहता हूँ इसकी तुलना placemark.name
से करें, जिसमें String!
है, NSString
नहीं है।
मैं जानता हूँ कि name
और street
optionals हैं, लेकिन मैं यह सोचते कर रहा हूँ वे क्योंकि सभी स्थानों MKLocalSearch
से लौटे अब के लिए nil
नहीं कर रहे हैं गैर शून्य के नाम और सड़कों लगता है।
func formatPlacemark(placemark: CLPlacemark) -> (String, String) {
let street = placemark.addressDictionary["Street"] as String
if placemark.name == street {
// Do something
}
}
आप कैसे जानते हैं कि मैं 'स्थलचिह्न कर सकता हूं।'street.isEqualToString (placemark.name)' के बजाय नाम == सड़क' '? मैं यह सुनिश्चित करना चाहता हूं कि मैं स्ट्रिंग समानता ('isEqualToString') की जांच कर रहा हूं, पहचान की वस्तु नहीं (' == ')। – ma11hew28
स्विफ्ट स्वचालित रूप से दो प्रकार के बीच पुल, और '==' स्ट्रिंग समानता परीक्षण का स्विफ्ट तरीका है। देखें: https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html – vacawama
इसे Playground में आज़माएं। आप इसे देखना चाहेंगे जैसा आप चाहें। – vacawama