2016-05-23 72 views
0

在我的模型中,我有一个对象Object,其属性为attribute,类型为Int64。Core Data + swift Int = crash

这里是Object.swift文件:

class Object: NSManagedObject { 
    @NSManaged var attribute: Int 
} 

这里是我使用它:

let anInt: Int = 3 
security.attribute = anInt 

的代码工作正常,在64位的设备,但在32位器件它由于无法识别的选择器Object.attribute而崩溃。

在我看来,这种崩溃的应该由编译器捕获

回答

1

的解决方案是标记属性作为Int64NSManagedObject对象

class Object: NSManagedObject { 
    @NSManaged var attribute: Int64 
} 

,并投了IntInt64

let anInt: Int = 3 
security.attribute = Int64(anInt) 
+0

对,因为核心数据没有'Int'类型,它有几个整数类型,所有的hav特定的尺寸。 –