我不知道如何使用AutoreleasingUnsafePointer。我有以下代码:
var myString: AutoreleasingUnsafePointer<NSString?>
myScanner.scanUpToCharactersFromSet(NSCharacterSet.newlineCharacterSet(), intoString: myString)
现在,我应该怎么做才能从“myString”中获取字符串?我知道它可以为nil,但是我想不出一种方法来获取字符串值,以防它不是nil。 Swift展开技术仅适用于Optional类型。
谢谢!
最佳答案
如果scanUpToCharactersFromSet
的第二个参数声明为自动释放不安全指针,即AutoreleasingUnsafePointer<NSString?>
,则您应该能够在不显式创建指针的情况下调用函数。 Swift可让您在&
变量上使用NSString?
运算符来生成自动释放的不安全指针,如下所示:
var str : NSString? = nil
myScanner.scanUpToCharactersFromSet(NSCharacterSet.newlineCharacterSet(), intoString:&str)
这将使
str
作为“常规”可选NSString
,您可以使用常规的展开操作符将其展开。关于ios - Swift:如何从NSScanner的AutoreleasingUnsafePointer <NSString?>中获取值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24205768/