Swift: 方法调用之UnsafePointer
方法声明:
@objc optional static func isKeyExcluded(fromScript name: UnsafePointer<Int8>) -> Bool
测试1:
if let isExcluded = cls.isKeyExcluded(fromScript:), name.withCString(isExcluded) {
return true
}
测试1正常使用,这个方法始终没有想明白,前面的参数传入的是哪个,我调试的时候发现isKeyExcluded用的貌似是name;还有后面的withCString怎么能使用一个bool的返回值(单独使用报错);
测试2:
var name = "TEST"
let test1 : Bool
test1 = true
let isExcluded = cls.isKeyExcluded(fromScript:)
let test2 = name.withCString( test1 ) //错误信息: Cannot convert value of type 'Bool' to expected argument type '(UnsafePointer<Int8>) throws -> _'
测试2提示以上错误信息,估计和指针有关系;swift中的指针使用貌似和 oc有点不一样,UnsafePointer<T>;
请各位大虾指教