1

というわけで、toDoリストアプリをswift3/iOS10にアップデートしようとしていますが、アップデート時にこのエラーに遭遇しました。インターネットと StackOverflow を調べたところ、他の誰かにもこの問題が発生していることがわかりましたが、そこでの解決策は役に立ちませんでした。これは、Core Data への挿入を処理する 1 つのファイルにすぎません。

これはそのファイルのコードです:

import UIKit
import CoreData

var taskMgr: TaskManager = TaskManager()

struct task {
    var name = "not defined"
    var desc = "not defined"
}

class TaskManager: NSObject {
  var tasks = [task]()
  var persistenceHelper: PersistenceHelper = PersistenceHelper()

  override init(){

    let tempTasks:NSArray = persistenceHelper.list(entity: "Task")
    for res:AnyObject in tempTasks{
        tasks.append(task(name:res.valueForKey("name")as! String,desc:res.valueForKey("desc") as! String))
    }
  }


  func addTask(name:String, desc: String){

    var dicTask: Dictionary<String, String> = Dictionary<String,String>()
    dicTask["name"] = name
    dicTask["desc"] = desc

    if(persistenceHelper.save(entity: "Task", parameters: dicTask)){
        tasks.append(task(name: name, desc: desc))
    }
  }

  func removeTask(index:Int){
    let value:String = tasks[index].name 

    if(persistenceHelper.remove(entity: "Task", key: "name", value: value)){
        tasks.remove(at: index)
    }
  }

}

したがって、18行目で次のようなエラーが発生します。

タイプ 'NSFastEnumerationIterator.Element' (別名 'Any') はプロトコル 'AnyObject' に準拠していません

誰でも私を助けることができますか?ありがとう :)

4

1 に答える 1

7

このように18行目を更新してください。これがうまくいくことを願っています。

  for res:AnyObject in tempTasks as [AnyObject]
于 2016-09-16T19:13:43.430 に答える