У меня есть сущность основной набор данных с использованием следующих атрибутов:Swift: Недопустимый тип значения для атрибута при создании нового NSEntity
resellerNo:Int
resellerName:String
У меня есть настройки в NSManagedObject следующим образом:
class Reseller: NSManagedObject
{
@NSManaged var resellerNo: Int
@NSManaged var resellerName: String
}
Если я попытаюсь запустить этот метод:
func createNewReseller(resellerName: String)
{
let context = app.managedObjectContext
let resellerEntity = NSEntityDescription.entityForName("Resellers", inManagedObjectContext: context)
let newReseller = Reseller(entity: resellerEntity!, insertIntoManagedObjectContext: context)
newReseller.resellerNo = 12
newReseller.resellerName = resellerName
saveDatabase()
Swift.print ("Reseller \(resellerName) created")
}
затем он падает при попытке выделить перепродажу erNo с сообщением об ошибке:
Недопустимый тип значения для атрибута: property = "resellerNo"; желаемый тип = NSNumber; данный тип = __NSTaggedDate; value = 2001-01-01 00:00:00 +0000.
Странно, если вы используете консоль для печати newReseller.resellerNo
как раз заранее, тогда он отлично работает.
Другой код, доступ к другим объектам точно так же работает нормально.
Любые идеи?
не уверен, что это ответит, можете ли вы изменить 'newReseller.resellerNo = 12', чтобы использовать' newReseller.resellerNo = NSNumber (int: 12) 'и посмотреть, не происходит ли ошибка? –
Нет Xcode это не понравилось. Невозможно присвоить значение типа «NSNumber» значению типа «int». – iphaaw