ios - 加载指定初始化程序核心数据失败

标签 ios swift core-data

我一直在努力创建一个类来管理核心数据。 我似乎无法通过“无法在 NSManaged 对象上调用指定的初始值设定项”

我该如何解决这个问题?

这是我创建的用于管理数据的类:

import Foundation
import CoreData
import UIKit

class Hours: NSManagedObject {

    @NSManaged var date: NSDate
    @NSManaged var startTime: NSDate
    @NSManaged var endTime: NSDate
    @NSManaged var totalTime: Double

    override init(entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?){
        let entity = NSEntityDescription.entityForName("Hours", inManagedObjectContext: context!)
        super.init(entity: entity!, insertIntoManagedObjectContext: context)
    }
    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    var context:NSManagedObjectContext {
        get{
            return appDel.managedObjectContext
        }
    }



    class func insertTimes(date: NSDate, startTime:NSDate, endTime:NSDate,totalTime:Double) -> Hours{
        let hour:Hours = Hours()
        let newDate:Hours = NSEntityDescription.insertNewObjectForEntityForName("Hours", inManagedObjectContext: hour.context) as! Hours
        print("date = \(date), start = \(startTime), end = \(endTime), total = \(totalTime)")
        newDate.date = date
        newDate.startTime = startTime
        newDate.endTime = endTime
        newDate.totalTime = totalTime
/*
        newDate.setValue(date, forKey: "date")
        newDate.setValue(startTime, forKey: "startTime")
        newDate.setValue(endTime, forKey:"endTime")
        newDate.setValue(totalTime, forKey: "totalTime")
*/
        do{
            try hour.context.save()
            print("Succesfully saved")
        }catch{
        print("Unresolved save error")
        }

        return newDate


    }

    func returnDate(){
        //Does not work YET
        let request = NSFetchRequest(entityName: "Hours")
        //request.returnsObjectsAsFaults = false
        do{
            let results = try context.executeFetchRequest(request)
            print(results)
        }catch{
            print("Unresolved fetch error")
        }
    }
}

按下按钮后,我尝试使用以下代码行调用方法 insertTimes

 @IBAction func saveData(sender: AnyObject) {
    let inserted:Hours = Hours.insertTimes(date, startTime: startEndDate.startTime, endTime: startEndDate.endTime, totalTime: timeInterval)

}

请注意,我的所有变量都是正确的类型。

来源可在以下位置找到: https://github.com/bbriann123/PayDay/blob/master/Hours.swift

最佳答案

看看这些:

也许您需要一本更好的核心数据书籍(或任何您用来学习的书籍)?

关于ios - 加载指定初始化程序核心数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811661/

相关文章:

ios - 如何在 View 中切出具有径向渐变的孔

Swift 初始化器继承

objective-c - 如何创建从一个实体到另一个现有实体的核心数据关系?

objective-c - NSArrayController 上的 setFilterPredicate 在 "Auto Rearrange Content"中不起作用

ios - 如何制作圆角矩形按钮叠加层?

ios - 播放网络文件夹中的视频文件

ios - 如何在 IOS 中弹出堆栈?

ios - 谷歌地图 SDK 与 ios6 的集成

swift - 如何在 swift 中将转义键指定为等同于按钮的键?

iOS RestKit人工识别属性