在swift中使用bridgeToObjectiveC()

时间:2014-06-04 14:48:08

标签: ios swift

bridgeToObjectiveC() 在swift中会做什么。似乎将Swift对象转换为ObjectiveC对象。这与类型转换相同吗?

例如,我可以将快速String转换为NSString,如

var swingString:String = "test string"
var correspondingNSString = swingString.bridgeToObjectiveC()  // Using bridge

var correspondingNSString = swingString as NSString      // type casting

我想知道两者是否相同?

1 个答案:

答案 0 :(得分:8)

我的理解是提供了bridgeToObjectiveC(),因此您不必知道对应的Objective-c类型是什么;编译器决定适当的类型。

例如:如果您有一个Any个对象数组,则可以使用bridgeToObjectiveC()在每个对象上调用map,而不必担心是否存在String,Int和Double值。

使用as关键字可以明确选择要将值转换为的类型。