【发布时间】:2017-01-17 21:56:56
【问题描述】:
我已经创建了一个具有“isLoggedIn”属性的实体,在成功注册/登录后它被设置为 true。然后我需要做的是,在我的应用启动加载屏幕中,检索这是真还是假,然后使用该结果激活 2 个 segues 中的 1 个。
这是我已经检索到的内容(问题区域):
var tasks : [Task] = []
func getData() {
print("at least this worked")
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
do {
tasks = try context.fetch(Task.fetchRequest())
print("please let task work: \(tasks)")
}
catch {
print("fetching failed")
}
}
这是我必须保存的:
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let login = Task(context: context)
login.isLoggedIn = true
//Save that user is logged in below
(UIApplication.shared.delegate as! AppDelegate).saveContext()
这是我的实体/属性设置:
Task.fetch 请求预定义为
public class func fetchRequest() -> NSFetchRequest<Task>
Declared In Task+CoreDataProperties.swift
我遇到的具体问题是我不知道我设置的 bool 是否实际被保存或检索 / 如果两者都是,那么我找不到访问 true / false / not set 结果的方法。
我要做的是在用户成功登录时将 bool isLoggedIn 更新为 true,然后在下次启动应用程序时检索该真实结果并使用它。如何做到这一点?
【问题讨论】:
-
具体是什么问题?
-
另外,如果 fetch 有问题,最好知道
Task.fetchRequest()做了什么。 -
我已经编辑了帖子以使其更具信息性
-
请包括您期望看到的内容以及您实际看到的内容。上面的代码将在每次运行时创建并保存一个新的 Task 实体,并且您在任何时候都没有阅读 Bool 属性,这应该是您的问题所在
标签: ios core-data swift3 boolean fetch