У меня есть рабочее приложение, которое сохраняет множество различных точек данных в Core Data. Каждый элемент, который сохраняется в поле типа String, сохраняет только find (я доказываю это, выбирая его потом и печатая на экран). Однако у меня возникают проблемы с целым полем (в частности, с типом данных Int16). Есть ли что-то неправильно в строке кода ниже, пытаясь сохранить «activityOrder»?Сохранение целого числа типа Int16 to Core Data - Swift
let newActivity = NSEntityDescription.insertNewObjectForEntityForName("Activities", inManagedObjectContext: context) as NSManagedObject
newActivity.setValue(selectedOwnerName, forKey: "activityOwner")
newActivity.setValue(selectedActivityType, forKey: "activityType")
newActivity.setValue(newNumber, forKey: "activityOrder")
//save the record
do {
try newActivity.managedObjectContext?.save()
} catch {
print(error)
}
Я могу подтвердить, что переменная «newNumber» имеет значение и на самом деле 1. поля «activityOwner» и «activityType» сохраняются правильно (опять же, все поля типа String).
Вот код, я использую, чтобы проверить, есть ли что-нибудь там:
let orderFetchRequest: NSFetchRequest = NSFetchRequest(entityName: "Activities")
orderFetchRequest.returnsObjectsAsFaults = false
orderFetchRequest.fetchLimit = 1
do {
let orderResults = try appDelegate.managedObjectContext.executeFetchRequest(orderFetchRequest)
orderData = orderResults as! [NSManagedObject]
} catch let error as NSError {
print("Could not fetch \(error), \(error.userInfo)")
}
let orderSortDescriptor = NSSortDescriptor(key: "activityOrder", ascending: true)
orderFetchRequest.sortDescriptors = [orderSortDescriptor]
print(orderData)
Эффективно напечатать наш «OrderData», который печатает всю запись (что, где я вижу значение для всех строкового данные но ноль для заказа)
Я довольно новичок в данных Core и Swift. Выполняют ли целые команды по сравнению с строками при сохранении в Core Data?
как 'newNumber' объявлен в вашем управляемом объекте? –
Я изначально объявлял его как var newNumber: Int, но я также пробовал «NSNumber» «Int16» и другие. – skind
Можете ли вы включить код, который вы используете, для извлечения данных и отображения его? – Michael