gpt4 book ai didi

ios - NSFetchRequest 核心数据 Swift 3 向后兼容性

转载 作者:可可西里 更新时间:2023-11-01 05:03:05 24 4
gpt4 key购买 nike

我已经在 swift 3 中转换了我的代码。我在我的应用程序中使用核心数据。如您所知,NSFetchRequest 已更改。在 swift 2 中是:

let request = NSFetchRequest(entityName: "UnsyncedTask")

在 swift 3 中:

let request:NSFetchRequest<NSFetchRequestResult> = UnsyncedTask.fetchRequest()

我的问题是,它只支持 ios 10。我怎样才能让它向后兼容 ios?我想要支持 ios 9、ios 10 和 swift 3 的 NSFetchRequest。

最佳答案

NSFetchRequest(entityName:) 在 Swift 3 中仍然可用。您可以使用 if#available 在 iOS 10/macOS 10.12 上使用更新的 API或更高版本,以及旧操作系统版本上的旧 API:

let request: NSFetchRequest<UnsyncedTask>
if #available(iOS 10.0, OSX 10.12, *) {
request = UnsyncedTask.fetchRequest()
} else {
request = NSFetchRequest(entityName: "UnsyncedTask")
}
do {
let results = try context.fetch(request)
for task in results {
// ...
}
} catch let error {
print(error.localizedDescription)
}

关于ios - NSFetchRequest 核心数据 Swift 3 向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com