我不知道如何使用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/

10-14 20:14
查看更多