Swift3错误:类型'NSFastEnumerationIterator.Element'(又名'Any')不符合协议'AnyObject'

时间:2016-09-16 12:31:47

标签: ios swift xcode swift3 anyobject

所以,我正在尝试将我的toDo列表应用程序更新为swift 3 / iOS 10,但我在更新时遇到了这个错误。我查了一下互联网和StackOverflow,发现其他人也有这个问题,但那里的解决方案对我没有帮助。 这只是一个文件,负责插入Core Data。

这是该文件的代码:

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'

  

任何人都可以帮助我吗? 谢谢:))

1 个答案:

答案 0 :(得分:7)

请像这样更新第18行。我希望这对你有用。

{{1}}