如何检查在 swift 中声明的 UnsafeMutablePointer<ObjCBool> 类型的变量的值? [复制]
Posted
技术标签:
【中文标题】如何检查在 swift 中声明的 UnsafeMutablePointer<ObjCBool> 类型的变量的值? [复制]【英文标题】:How do I check the value of a variable declared in swift of type UnsafeMutablePointer<ObjCBool>? [duplicate] 【发布时间】:2018-08-19 01:01:34 【问题描述】:我需要检查从 Swift 中的函数返回的变量的值,该变量的类型为 UnsafeMutablePointer?。
声明如下:
var isDirectory: UnsafeMutablePointer<ObjCBool>?
当我打印出来时:
print(isDirectory)
我明白了:
无
我不太擅长将 Swift 与 Objective-C 混合使用。任何帮助将不胜感激。
这是我实际的完整代码:
let directoryURL: URL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let pathOldLocalStorage: String = directoryURL.path + "/OldLocalStorage"
FileManager.default.createFile(atPath: pathOldLocalStorage, contents: nil, attributes: nil)
var isDirectory: UnsafeMutablePointer<ObjCBool>?
let fileExists: Bool = FileManager.default.fileExists(atPath: pathOldLocalStorage, isDirectory: isDirectory)
print("fileExists=", fileExists, "isDirectory=", isDirectory as Any)
这是调试窗口的结果:
fileExists=true isDirectory=nil
【问题讨论】:
【参考方案1】:你需要这样称呼它:
var isDirectory: ObjCBool = false
let fileExists: Bool = FileManager.default.fileExists(atPath: pathOldLocalStorage, isDirectory: &isDirectory)
if fileExists
print("isDirectory=\(isDirectory)")
【讨论】:
非常感谢。我真的很感激。 @ShinehahGnolaum,您可以在this thread 中找到更多信息。以上是关于如何检查在 swift 中声明的 UnsafeMutablePointer<ObjCBool> 类型的变量的值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 3.1 中,不推荐使用 UnsafeMutablePointer.initialize(from:)