我查看了蘋果的:與斯威夫特在Xcode 8尋找關於修訂NSPersistentContainer明確教程3
的Xcode 8發行說明:
https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html
從雨燕2.2遷移到雨燕2.3或斯威夫特3
https://swift.org/migration-guide/
什麼在MacOS上10.12,iOS的10.0,tvOS 10.0中的新核心數據,並watchOS 3.0
https://developer.apple.com/library/content/releasenotes/General/WhatNewCoreData2016/ReleaseNotes.html#//apple_ref/doc/uid/TP40017342-CH1-DontLinkElementID_1
和很多人一樣......但一個文件,應該可以從蘋果公司的核心數據編程指南,尚未從斯威夫特2.
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/FetchingObjects.html#//apple_ref/doc/uid/TP40001075-CH6-SW1
理想我正在尋找這樣的事情更新但對於Swift 3.
https://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial
任何潛在客戶都將非常感激。
每湯姆的評論(下)我缺少什麼步驟?
1)創建一個新項目 「測試」
2)選擇使用CoreDate(這將創建Test.xcdatamodeld)
這將自動填充的AppDelegate與以下(默認評論刪除):
func applicationWillTerminate(_ application: UIApplication) {
self.saveContext()
}
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Test")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}()
func saveContext() {
let context = persistentContainer.viewContext
if context.hasChanges {
do {
try context.save()
} catch {
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
}
}
3)創建實體 「富」
4)添加屬性 「欄」 String類型
5)在ViewController.swift添加以下(這是從蘋果抄襲,我剛剛更換 「......用」 與 「打印」)
func findAnimals() {
let request: NSFetchRequest<Foo> = Foo.fetchRequest
do {
let searchResults = try context.fetch(request)
print(searchResults)
} catch {
print("Error with request: \(error)")
}
}
6)加入findAnimals()下覆蓋FUNC viewDidLoad中()。
但是這個具體有錯誤:
- NSFetchRequest <使用未聲明的類型 'NSFetchRequest'
- 方面<使用未解決的標識符 '語境'
7),這樣你回去在viewController下的函數中加入一些東西,使容器可以訪問(這不在Apple的示例中)。
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
很好,我們清除了2錯誤中的1個,但錯誤「使用未聲明的類型'NSFetchRequest'」仍然存在。
這裏是我卡住的地方。即使在審查了Apple發佈的所有材料之後,我也找不到完整的示例。
你有什麼具體的不明白? –
有限的文檔意味着所有人必須做的是在xcdatamodeld中創建一個實體,它會自動識別。不過,我不斷收到「未解決的標識符」。 –
您是否導入CoreData? – shallowThought