0

In Xcode 7 automatically generated core data classes have the core data variables in an extension in a separate file. They also make every variable optional. I understand some of the reasoning for this, core data objects don't have a swift init function. How does one know a variable is never nil?

However, I have several variables assigned within override func awakeFromInsert(). As soon as they are created/inserted they have a non-optional value. These variables are also set to be not optional in the core data model. Is there any reason that I shouldn't change such variables to non optional in the extension?

Also, if @NSManaged var bioRatio: NSNumber? has an attribute value of Integer 32 in the core data model, is there any reason I can't declare it as @NSManaged var bioRatio: Int in the extension?

extension ShoppingItems {

    @NSManaged var bioRatio: NSNumber?
    @NSManaged var dateCreated: NSDate?
    @NSManaged var dateModified: NSDate?
    @NSManaged var dateSynced: NSDate?
    @NSManaged var coreDiesel: NSNumber?
    @NSManaged var coreHaveStock: NSNumber?
    @NSManaged var coreMonthlyStock: NSNumber?
    @NSManaged var myName: String?
    @NSManaged var recordChangeTag: String?
    @NSManaged var stdQty: NSNumber?
    @NSManaged var urgency: NSNumber?
    @NSManaged var uuidAccount: String?
    @NSManaged var uuidFamily: String?
    @NSManaged var uuidKey: String?
    @NSManaged var uuidUnit: String?
    @NSManaged var uuidUser: String?
    @NSManaged var myAccount: Accounts?
    @NSManaged var coreMyCategoryLinks: NSSet?
    @NSManaged var coreMyPackageHistories: NSSet?
    @NSManaged var coreMyPackages: NSSet?
    @NSManaged var myUnit: Units?

}
adamek
  • 2,324
  • 3
  • 24
  • 38
  • 1
    Concerning your last question, see for example [Core Data “use scalar properties for primitive data types” check box](http://stackoverflow.com/questions/13819901/core-data-use-scalar-properties-for-primitive-data-types-check-box). – Martin R Nov 17 '15 at 14:18
  • I need to get better or go deeper in searching previous questions. – adamek Nov 17 '15 at 14:26

0 Answers0