NSFetchRequest(entityName:) is still available in Swift 3. You can use if #available to use the new API on iOS 10 / macOS 10.12 or later, and the older API for older OS versions:
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) }
source share