我已经制作了具有属性'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,然后在下次启动应用程序时检索该真实结果并使用它。怎么办呢?
答案 0 :(得分:0)
好的,我会尝试解释你需要做什么才能首先看到结果数据的输出
1st: - 从应用文档目录中检索文档目录路径
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
let documentsDirectory = paths.objectAtIndex(0) as! String
let path = documentsDirectory.stringByAppendingString("/filename")
第二:你需要一个工具来查看保存在该目录中的数据库。 我建议下载此软件以简化您的工作
现在只需复制路径并粘贴到资源管理器文件中,在这里您可以看到Db.sqlite文件中的所有表格,并检查值是否存储。
第3步:在确定Db中存在该值之后,只需获取它并添加IF语句以检查布尔值以选择您喜欢的segue。