在swift中使用bridgeToObjectiveC()
bridgeToObjectiveC()会做什么? 这似乎像一个Swift
对象转换为ObjectiveC
对象。 这与types转换相同吗?
例如,我可以将一个Swifttypes的String
转换为NSString
var swingString:String = "test string" var correspondingNSString = swingString.bridgeToObjectiveC() // Using bridge var correspondingNSString = swingString as NSString // type casting
我想知道两者是否相同?
我的理解是提供bridgeToObjectiveC()
,以便您不一定需要知道相应的objective-ctypes是什么; 编译器决定适当的types是什么。
例如:如果你有一个Any
对象的数组,你可以使用map
调用它们的每一个上的bridgeToObjectiveC()
,而不用担心是否有String,Int和Double值。
使用as
关键字可以明确地select要将该值转换为的types。