首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFetchRequest无法找到NSEntityDescription

NSFetchRequest无法找到NSEntityDescription
EN

Stack Overflow用户
提问于 2014-12-17 23:06:28
回答 1查看 4.3K关注 0票数 0

--我知道这是其他问题的重复,但是我已经跟踪了这些问题的答案,我仍然得到了同样的错误。

我认为这个错误来自这样一个事实:当数据甚至没有被保存时,代码正在尝试获取数据(因为我从Parse获得数据,所以保存数据有延迟)。有什么想法吗?

我得到的确切错误是:

代码语言:javascript
复制
 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSFetchRequest could not locate an NSEntityDescription for entity name 'emailStatus''

-

代码语言:javascript
复制
import UIKit
import CoreData

class RegisterEmail: UIViewController {

var test1: Bool?

override func viewDidLoad() {
    super.viewDidLoad()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func shouldPerformSegueWithIdentifier(identifier: String!, sender: AnyObject!) -> Bool {
    if identifier == "passEmail" {

        var query = PFUser.query()
        query.getObjectInBackgroundWithId("vFu93HatwL") {
            (User: PFObject!, error: NSError!) -> Void in
            if error == nil {
                NSLog("%@", User)

                var checkEmail = User["emailVerified"] as Bool

                println(checkEmail)

                var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)

                var context:NSManagedObjectContext = appDel.managedObjectContext!

                var newEmail = NSEntityDescription.insertNewObjectForEntityForName("Email", inManagedObjectContext: context) as NSManagedObject

                newEmail.setValue(checkEmail, forKey: "emailStatus")

                context.save(nil)

                println (newEmail)

                println("Object Saved")

            } else {
                NSLog("%@", error)
            }


        }


        var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)

        var context:NSManagedObjectContext = appDel.managedObjectContext!

        var request = NSFetchRequest(entityName: "emailStatus")

        request.returnsObjectsAsFaults = false

        var results: NSArray = context.executeFetchRequest(request, error: nil)!

        if(results.count > 0)
        {
            var res = results [0] as NSManagedObject

            test1 = res.valueForKey("emailStatus") as Bool

        }


        if (test1 == false) {

            let alert = UIAlertView()
            alert.title = "Error"
            alert.message = "The email you have provided has not been verified."
            alert.addButtonWithTitle("Dismiss")
            alert.show()

            return false
        }

        else {

            return true
        }
    }

    // by default, transition
    return false
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 23:36:10

来自op:"...everything是在数据库文件中设置的。实体称为email,属性为emailStatus“。

然而,你试图获取一个实体emailStatus,在那里你可能想要电子邮件。

var request = NSFetchRequest(entityName: "emailStatus")

“打字”

然后获取正确的实体:“电子邮件”

var request = NSFetchRequest(entityName: "email")

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27536503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档