Swift / Core Data / Bool или ObjCBool

#core-data #swift

#основные данные #swift

Вопрос:

Я пытаюсь сохранить свою модель с полями типа bool. Когда я пытаюсь добавить значение «true», возникает ошибка. Я также безуспешно пытался изменить тип поля на Objective C Bool (ObjCBool), у кого-то тоже была эта проблема?

 import UIKit
import CoreData

@objc(Test)
class Test: NSManagedObject {
   @NSManaged var title: String
   @NSManaged var field: ObjCBool // Or Bool
}

// the error occurs before saving at this point
test.field = true
  

Ответ №1:

решение с помощью numberWithBool:

 import UIKit
import CoreData

@objc(Test)
class Test: NSManagedObject {
   @NSManaged var title: String
   @NSManaged var field: NSNumber 
}

test.field = NSNumber.numberWithBool(false)