将JSON字典导入Swift中的核心数据

将JSON字典导入Swift中的核心数据,json,core-data,import,xcode6,xcode6.1,Json,Core Data,Import,Xcode6,Xcode6.1,使用Swift将bools从JSON字典导入下面的练习对象时遇到了一些问题。拉伸&设备对象是一个快照。我知道这很简单,但我找不到一个可以建模的例子。以下是我的数据模型: 拉伸对象是我的主要实体。 设备对象将包含字符串。 练习对象属性是布尔值 let jsonURL = NSBundle.mainBundle().URLForResource("seed", withExtension: "json")! let jsonData = NSData(contentsOfURL:

使用Swift将bools从JSON字典导入下面的
练习
对象时遇到了一些问题。
拉伸
&
设备
对象是一个快照。我知道这很简单,但我找不到一个可以建模的例子。以下是我的数据模型:

拉伸
对象是我的主要实体。
设备
对象将包含字符串。
练习
对象属性是布尔值

    let jsonURL = NSBundle.mainBundle().URLForResource("seed", withExtension: "json")!
    let jsonData = NSData(contentsOfURL: jsonURL)

    var error: NSError?
    let jsonArray = NSJSONSerialization.JSONObjectWithData(jsonData!, options: nil, error: &error) as NSArray

    // Inserts attributes for database

    let entity = NSEntityDescription.entityForName("Stretch", inManagedObjectContext: coreDataStack.context)!

    var counter = 0

    for jsonDictionary in jsonArray {

        counter++
        // listing of columns in JSON seed file
        let stretchDescription = jsonDictionary.valueForKey("stretchDescription") as String
        let generalArea = jsonDictionary.valueForKey("generalArea") as String
        let muscleGroup = jsonDictionary.valueForKey("muscleGroup") as String
        let equipmentCode = jsonDictionary.valueForKey("equipmentCode") as String
        let sideMultiplier = jsonDictionary.valueForKey("sideMultiplier") as NSNumber
        let advanced = jsonDictionary.valueForKey("advanced") as Bool
        let photo = jsonDictionary.valueForKey("photo") as NSData
        let runningOrWalking = jsonDictionary.valueForKey("runningOrWalking") as Bool
        let cycling = jsonDictionary.valueForKey("cycling") as Bool
        let weightLifting = jsonDictionary.valueForKey("weightLifting") as Bool
        let aerobics = jsonDictionary.valueForKey("aerobics") as Bool
        let raquetSports = jsonDictionary.valueForKey("raquestSports") as Bool
        let golf = jsonDictionary.valueForKey("golf") as Bool
        let yoga = jsonDictionary.valueForKey("yoga") as Bool
        let equipmentDescription = jsonDictionary.valueForKey("equipmentDescription") as String

        let stretch = Stretch(entity: entity, insertIntoManagedObjectContext:coreDataStack.context)

        stretch.stretchDescription = stretchDescription
        stretch.generalArea = generalArea
        stretch.muscleGroup = muscleGroup
        stretch.equipmentCode = equipmentCode
        stretch.sideMultiplier = sideMultiplier
        stretch.advanced = advanced
        stretch.photo = photo

        // Insert Equipment object
        let equipmentEntity = NSEntityDescription.entityForName("Equipment", inManagedObjectContext: coreDataStack.context)
        let equipmentDescriptionObject = Equipment(entity: equipmentEntity!, insertIntoManagedObjectContext: coreDataStack.context)

        stretch.equipmentUsed = equipmentDescriptionObject

        // Figure out exercises object
        let exercise = NSEntityDescription.entityForName("Exercises", inManagedObjectContext: coreDataStack.context)
        let exerciseObject = Exercises(entity:exercise!, insertIntoManagedObjectContext: coreDataStack.context)
这就是我被困的地方。如何完成为练习对象添加属性

这就是我被困的地方。如何完成为练习对象添加属性

与向
拉伸
对象添加属性的方式相同。您可以通过点符号轻松访问和设置
练习
属性

let exercise = NSEntityDescription.entityForName("Exercises", inManagedObjectContext: coreDataStack.context)
let exerciseObject = Exercises(entity:exercise!, insertIntoManagedObjectContext: coreDataStack.context)
exerciseObject.aerobics = aerobics
我正在查看这个lib(Sync),它非常适合将JSON对象转换为核心数据对象:

谢谢!在教程中遵循这一点是一回事,但有时非常简单的事情比我参与其中时应该做的更困难;)