Swift 4:无法将'Int'类型的返回表达式转换为返回类型'[String:Any]?'

时间:2018-03-15 13:15:58

标签: xcode swift4.1

在准备中(对于segue :)我将所选项目的id:Int添加到用户默认值中

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let viewController = segue.destination as? ReceiverVC, let project = sender as? Project {
            defaults.set(project.id!, forKey: "currProject")
            viewController.project = project
        }
    }

在我的ApiRouter中,我需要访问该值(我认为我需要它作为字符串,因为它是一个URL参数)但是我正在

  

“无法将'Int'类型的返回表达式转换为返回类型   '[String:Any]?'“

使用此代码

let params: ([String: Any]?) = {
            switch self {
            case .getAllProjects:
                return nil
            case .getAllParts:
                return nil
            case .getProjectParts:
                return UserDefaults.standard.integer(forKey: "currProject")
            }
        }()

我不知道另一种捕获所选行的方法并运行回api以获取正确的记录

1 个答案:

答案 0 :(得分:0)

case .getProjectParts:
  return ["your key":UserDefaults.standard.integer(forKey: "currProject")]
}