【问题标题】:Contextual type 'AnyObject' cannot be used with array literal上下文类型“AnyObject”不能与数组文字一起使用
【发布时间】:2016-01-27 20:41:02
【问题描述】:

我正在尝试升级以将我的项目升级到 Swift 2,但我遇到了以下错误:

上下文类型“AnyObject”不能与数组字面量一起使用

这是我的代码:

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {

    let data = UIImageJPEGRepresentation(image, 0.08)
    let file = PFFile(data: data!)

    PFUser.currentUser()!["Picture"] = [file]
    try! PFUser.currentUser()!.save()}

这是出现问题的那一行

        PFUser.currentUser()!["Picture"] = [file]

非常感谢您的帮助!! (我是初学者,...)

【问题讨论】:

  • 我的回答对你有用吗?
  • 它可以工作,但我现在有另一个问题我现在收到以下错误:关键图片的类型无效,预期的数组,但得到了文件
  • 之前代码运行良好(非常感谢您的帮助)
  • 我必须查看更多代码才能弄清楚您现在面临的另一个问题是什么。
  • 好的,非常感谢我已经解决了问题

标签: swift parse-platform


【解决方案1】:

替换这一行:

PFUser.currentUser()!["Picture"] = [file]

与:

PFUser.currentUser()!["Picture"] = file

编辑:如前所述,最好不要强制打开条件并执行以下操作:

guard let user = PFUser.currentUser() else {
    return
}
user["Picture"] = file

【讨论】:

  • 最好不要鼓励强制解包选项。我们应该guard let user = PFUser.currentUser() else { return } 然后user["Picture"] = file
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多