@NSManaged для типов данных Int16 или Int64 в CoreData

Я пытаюсь создать простой трекер в SwiftUI в качестве учебного опыта, и я нашел пару руководств по обработке CoreData в SwiftUI. Попытка следовать за ними стала настоящей головной болью ... Первый, за которым я пытаюсь следовать, - здесь. Там есть часть, которая показывает что-то вроде этого ...

      public class BlogIdea: NSManagedObject, Identifiable {
    @NSManaged public var ideaTitle: String?
    @NSManaged public var ideaDescription: String?
}

extension BlogIdea {
    // ❇️ The @FetchRequest property wrapper in the ContentView will call this function
    static func allIdeasFetchRequest() -> NSFetchRequest<BlogIdea> {
        let request: NSFetchRequest<BlogIdea> = BlogIdea.fetchRequest() as! NSFetchRequest<BlogIdea>
        
        // ❇️ The @FetchRequest property wrapper in the ContentView requires a sort descriptor
        request.sortDescriptors = [NSSortDescriptor(key: "ideaTitle", ascending: true)]
          
        return request
    }
}

Проблема, с которой я сталкиваюсь, заключается в том, что мои данные представляют собой String, Int16 и Int64. Однако всякий раз, когда я пытаюсь использовать их, я получаю сообщение об ошибке в xcode

Свойство не может быть помечено как @NSManaged, поскольку его тип не может быть представлен в Objective-C.

Я попытался пометить его как Double, Int16 и Int64 в моей модели CoreData, и все они дают одну и ту же ошибку в xcode.

Мой класс простой...

      class TrackedData: NSManagedObject, Identifiable {
  @NSManaged public var dateString: String?
  @NSManaged public var time: Int16?
  @NSManaged public var timestamp: Int64?
}

Тогда у меня есть расширение, которое поможет мне отфильтровать результаты. Из того, что я вижу в основной модели данных, у вас есть только несколько вариантов данных типа Int (Int16, Int32, Int64, Double, Float и Decimal), но мне еще предстоит выяснить, как я могу на самом деле используйте любой из них с аннотацией @NSManaged. Есть ли какой-то особый способ работы с данными типа Int в CoreData, который мне не хватает? Извините, я новичок в SwiftUI и имею дело с материалом @FetchRequest, поэтому я не вижу, чего мне не хватает.

Спасибо.

0 ответов

Другие вопросы по тегам