Xcode 8(swift 3)它的实体类型是什么?

时间:2016-10-02 05:42:52

标签: xcode swift3 ios10

实体的正确类型是什么?

例如,在将值保存到实体的属性时,哪种类型声明应该替换下面的三个问号?

func setSample() {
    let saveSample: <type???> = SampleEntity(context: context)
    saveSample.sampleAttribute = "Save a new string."
    do {
        try context.save()
    } catch {
         print("Error with save: \(error)")
    }
}

FWIW:NSEntityDescription返回错误:

Cannot convert value of type 'SampleEntity' to specified type 'NSEntityDescription'
Value of type 'NSEntityDescription' has no member 'sampleAttribute'

上下文我想把实体变成一个变量来做这样的事情:

func setSample() {
    var saveSample: ??? 
    if (criteria) { saveSample = Entity1(context: context) }
    if (criteria) { saveSample = Entity2(context: context) }
    if (criteria) { saveSample = Entity3(context: context) }
    saveSample.sampleAttribute1 = "Foo"
    saveSample.sampleAttribute2 = "Bar"
    saveSample.sampleAttributeNth = "Etc"
    do {
        try context.save()
    } catch {
         print("Error with save: \(error)")
    }
}

1 个答案:

答案 0 :(得分:0)

使用??? = SampleEntity或完全删除???部分:

let saveSample = SampleEntity(context: context)
let saveSample: SampleEntity = SampleEntity(context: context)
let saveSample: SampleEntity