bridgeToObjectiveC() 在swift中会做什么。似乎将Swift
对象转换为ObjectiveC
对象。这与类型转换相同吗?
例如,我可以将快速String
转换为NSString
,如
var swingString:String = "test string"
var correspondingNSString = swingString.bridgeToObjectiveC() // Using bridge
var correspondingNSString = swingString as NSString // type casting
我想知道两者是否相同?
答案 0 :(得分:8)
我的理解是提供了bridgeToObjectiveC()
,因此您不必知道对应的Objective-c类型是什么;编译器决定适当的类型。
例如:如果您有一个Any
个对象数组,则可以使用bridgeToObjectiveC()
在每个对象上调用map
,而不必担心是否存在String,Int和Double值。
使用as
关键字可以明确选择要将值转换为的类型。