Получение логического значения и доступ к нему из CoreData

I have made and entity with an attribute’ isLoggedIn ‘ this gets set to true after a successful sign up / login. То, что мне тогда нужно сделать, это в моем приложении запустить экран загрузки, это получить, является ли это истинным или ложным, а затем использовать этот результат, чтобы активировать 1 из 2 сегментов.

Вот то, что у меня уже есть, чтобы получить его (проблемная область):

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()

И вот моя установка сущности / атрибута:

Введите описание изображения здесь

Задача.запрос выборки предопределен как

public class func fetchRequest() -> NSFetchRequest<Task>
Declared In Task+CoreDataProperties.swift

Конкретная проблема, которая у меня есть, заключается в том, что я не знаю, действительно ли bool, который я установил, сохраняется или извлекается/, и если это так обоим, то я не могу найти способ получить доступ к результату true / false / not set.

То, что я пытаюсь сделать, это обновить bool isLoggedIn до true, когда пользователь успешно входит в систему, а затем, в следующий раз, когда приложение будет запущено, получить этот истинный результат и использовать его. Как это сделать?

1 ответ

  1. Хорошо я попытаюсь объяснить вам, что вам нужно сделать, чтобы сначала увидеть вывод данных результата

    1 — й: — получить путь к каталогу документов из каталога документов приложения

    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
        let documentsDirectory = paths.objectAtIndex(0) as! String
        let path = documentsDirectory.stringByAppendingString("/filename")
    

    2-й: вам нужен инструмент, чтобы увидеть базу данных, сохраненную в этом каталоге.
    я рекомендую скачать это программное обеспечение, чтобы упростить вашу работу

    SQLiteStudio

    Теперь просто скопируйте путь и вставьте в проводник файл, здесь вы можете увидеть все таблицы в вашей БД.SQLite и проверить, хранятся ли значения.

    Введите описание изображения здесь

    3-й: после того, как вы уверены, что значение существует в БД, просто извлеките его и добавьте оператор IF, чтобы проверить логическое значение, чтобы выбрать предпочтительный сегмент.