Swift:无法将类型NSNumber转换为期望的参数类型Int16

时间:2016-10-31 15:50:08

标签: ios swift core-data

我有一个名为EntityOne的CoreData实体,它有两个属性:

类型coreValue

Int16
coreDate

类型的NSDate

当我尝试从获取请求访问核心数据条目并将值附加到单个数组时,该行会显示错误: coreDataValues.append(item.coreValue!)

let request = NSFetchRequest(entityName: "EntityOne")
let fetchResults = try context.executeFetchRequest(request) as! [EntityOne]

var coreDataDates = [NSDate]()
var coreDataValues = [Int16]()

for item in fetchResults {
                coreDataDates.append(item.coreDate!)
                coreDataValues.append(item.coreValue!)
            }

1 个答案:

答案 0 :(得分:1)

尝试这样做:

item.coreValue!.shortValue

在使用它们之前,您还应该考虑安全展开它们:

if let value = item.coreValue {
    coreDataValues.append(value.shortValue)
}