swift4中为什么会有数组为空和错误?

时间:2019-02-27 16:31:59

标签: arrays swift

我花了几个小时试图将胶卷放到胶片上。我需要打开电影的我的收藏视图项目视图。我可以遵循不同的指南并发布,但是它总是给我一个空数组。我是新手,对不起我的问题,但是我需要您的帮助。

这是我的代码:

var taskArrayScheda : NewFilm?

override func viewDidLoad() {
super.viewDidLoad()

self.fetchData()

if(self.taskArrayScheda != nil) {

let schedaOk = taskArrayScheda
mostraDatiNellaScheda(schedaOk!)

} else { print("errore array vuoto") }


}

func mostraDatiNellaScheda(_ sched:NewFilm) {

// get title
titoloScheda.text = sched.titolo
}

func fetchData() {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext


let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "NewFilm")

do {
taskArrayScheda = try context.fetch(NewAnime.fetchRequest())
ERROR ::::: Cannot assign value of type '[Any]' to type 'NewFilm?'

} catch {
print(error)
}
}    

1 个答案:

答案 0 :(得分:1)

fetch()返回一个数组。但是目前,您将fetch()结果分配给单个对象var taskArrayScheda

您将需要以下内容:

var taskArrayScheda: [NewFilm]?

那你应该做:

taskArrayScheda = try context.fetch(NewAnime.fetchRequest()) as? [NewFilm]

我在这里假设NewAnimeNewFilm的子类,看这两个类名似乎很有意义。