2017-01-17 9 views
-1

Я создал и сущность с атрибутом 'isLoggedIn', после чего вы получите значение true после успешной регистрации/входа в систему. То, что мне тогда нужно сделать, находится на экране загрузки приложения, загружается ли это true или false, а затем используется этот результат для активации 1 из 2-х сегментов.Получить и получить доступ к булевому из CoreData

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

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

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

enter image description here

Task.fetch запрос предопределен, как

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

Конкретная проблема у меня есть, что я не знаю, является ли BOOL я устанавливаю фактически была сохранена или восстановлена ​​/ и, если так как, то я не могу найти способ, чтобы получить доступ истина/ложь/не установить результат.

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

+1

В чем конкретно заключается проблема? – pbasdf

+1

Кроме того, если выборка является проблемой как-то, было бы хорошо знать, что делает 'Task.fetchRequest()'. –

+0

Я отредактировал сообщение, чтобы сделать его более информативным – RufusV

ответ

0

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

первый: - Получить свой документ путь к каталогу из своего приложения каталога документа

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

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

SQLiteStudio

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

enter image description here

третий: После того, как вы уверены, что значение существует в Дб, просто взять его и добавить IF заявление, чтобы проверить логическое значение, чтобы выбрать нужный SEGUE.