Swift - 41 - swift1.2新特性(2)
swift 和 OC 的桥接
//: Playground - noun: a place where people can play import UIKit var PI = "3.14" // Double(PI) // 将swift的字符串转换为OC的字符串, 调用OC中的函数 (PI as NSString).doubleValue (PI as NSString).containsString(".") (PI as NSString).rangeOfString("14") // 字典方面的桥接 var dict = [1:"Rinpe", 2:"Lili"] (dict as NSDictionary).allValues (dict as NSDictionary).allKeys var arr = [1, 2, 3] (arr as NSArray).indexOfObject(3) // 默认情况下, swift中的数组是不允许存放不同类型元素的 // 所以在桥接到OC中的NSArray的时候, 就会出现问题, 这里可以使用下面初始化方法 // 来使得一个swift数组可以存放各种类型的元素, 然后进行桥接 var arr2:[AnyObject] = ["imooc", 1, 1.3] (arr2 as NSArray) // OC - swift var arr3 = NSArray(arrayLiteral: "imooc", 2, 3.4) arr3 as Array // 桥接失败则返回nil arr3 as? Array<String>