如何使用Swift将XML数据预加载到Core Data / iCloud集成应用程序中?

时间:2016-05-11 14:22:30

标签: xml swift core-data ios9 icloud

嘿伙计们我正在开发一个使用Core Data和iCloud集成的项目。该项目是一个简单的工作台视图,带有一个添加按钮,可以使用文本字段加载警报,并且用户输入显示在工作表视图上,按下“确定”按钮。

此应用程序基于Tim Roadley“使用Swift学习iOS核心数据”一书中的EZiCloud模板。

我来这里是因为作者没有提供任何支持,因为书上没有联系,或者他的网站甚至是论坛......所以,这就是我来这里的原因。

问题是应用程序是在用户使用应用程序之前预加载3个默认项目。如果仅使用Core Data,它可以正常工作,并通过导入带有默认数据的XML文件来执行预加载,如本书第8章所述。

但是在将iCloud集成到项目之后,本书只是对预加载数据一无所知,甚至没有说明如何将项目中已经存在的XML预加载与iCloud集成。

所以,我想知道这里是否有人知道如何做到这一点。

以下是设置CoraData / iCloud的代码:

func setupCoreData() {

    /*// Model Migration
     if let _localStoreURL = self.localStoreURL {
     CDMigration.shared.migrateStoreIfNecessary(_localStoreURL, destinationModel: self.model)
     } */

    // Load Local Store
    self.setDefaultDataStoreAsInitialStore()
    //_ = self.sourceStore
    _ = self.localStore

    // Load iCloud Store
    if let _ = self.iCloudStore {

        // self.destroyAlliCloudDataForThisApplication()

        //            if let path = self.seedStoreURL?.path {
        //                // Merge existing data with iCloud
        //                if NSFileManager.defaultManager().fileExistsAtPath(path) {
        //                    if let _ = self.seedStore {
        //                        self.confirmMergeWithiCloud()
        //                    } else {print("Failed to instantiate seed store")}
        //                } else {print("Failed to find seed store at '\(path)'")}
        //            } else {print("Failed to prepare seed store path")}
        //        } else {print("Failed to load iCloud store")}

        // Import Default Data
        if let _localStoreURL = self.localStoreURL {
            CDImporter.shared.checkIfDefaultDataNeedsImporting(_localStoreURL, type: NSSQLiteStoreType)
        } else {
            print("ERROR getting localStoreURL in \(#function)")}
    }
}

请注意,“//加载iCloud商店”中的注释代码与Deep Copy相关,从XML文件导入时不会使用。

那么,任何人都知道如何做到这一点?

0 个答案:

没有答案