今天,我开始创建仅具有1个实体和少量属性的简单xcdatamodel。因此,当我在nsmanagedobject的类定义中创建整数16类型的number属性时,其类型表示为NSNumber吗?

class JournalEntry : NSManagedObject {

    @NSManaged var date: Date?
    @NSManaged var height: String?
    @NSManaged var period: String?
    @NSManaged var wind: String?
    @NSManaged var location: String?
    @NSManaged var rating: NSNumber?
}


为什么不int16? (我读过objc没有int吗?类型)
 (因为在模型中,我允许属性为可选),所以如果我不给NSNumber赋值?属性在运行时如何在objc中表示? (将是零?p.s.我将初始值删除为零,所以没有初始值)

最佳答案

由于您的评分是可选的NSNumber,因此初始值为nil(您可以将其理解为“无值”)或您在CoreData模型编辑器中提供的默认值。
另外,您应该能够迅速使用Int64而不是NSNumber

10-08 11:27