2016-11-16 143 views
0

我使用此代碼初始化核心數據:核心數據在哪裏保存?

import Cocoa 
import CoreData 

class DataController: NSObject { 
    var persistentContainer: NSPersistentContainer! 
    var context: NSManagedObjectContext! 

    override init() { 
     persistentContainer = NSPersistentContainer(name: "Highlightings") 
     persistentContainer.loadPersistentStores(completionHandler: { (storeDescription, error) in 
      if let error = error as NSError? { 
       fatalError("Unresolved error \(error), \(error.userInfo)") 
      } 
     }) 
     context = persistentContainer.viewContext 
    } 
} 

我如何可以指定一個.sqlite文件,其中核心數據應該保存的數據?

回答

1

可能回到舊方法沒有NSPersistentContainer。舊的API尚未被棄用。

如果您使用NSPersistentContainer,則可以使用NSPersistentStoreDescription更改商店位置。類似於

let container = NSPersistentContainer(name: "ContinerName") 

let storeURL = // Initialize to whatever URL you want 
let description = NSPersistentStoreDescription(url: storeURL) 

container.persistentStoreDescriptions = [ description ] 

container.loadPersistentStores(completionHandler: { (storeDescription, error) in 
    // ... 
} 
+0

使用新方法.sqlite文件位於〜/ Library/Application Support/YOURAPPNAME / – Nisba