swift - 变量在它自己的初始值中使用 Swift 3

标签 swift parse-platform swift3

我尝试将我的代码转换为 swift 3,但我花了几个小时解决以下错误:

Type 'Any' has no subscript members

这是我的原始代码:

let data: AnyObject = user.object(forKey: "profilePicture")![0]

我看了答案here但我仍然被困住了。 (我把编程当作一种爱好,我不是专业人士 :/)

我试过了:

    let object = object.object(forKey: "profilePicture") as? NSDictionary
    let data: AnyObject = object![0] as AnyObject

但是现在我得到这个错误:

Variable used within its own initial value

最佳答案

第二个问题:使用始终不同的变量名作为方法名,基本上使用比object更具描述性的名称。

第一个问题:告诉编译器 profilePicture 值的类型,显然是一个数组。

if let profilePictures = user["profilePicture"] as? [[String:Any]], !profilePictures.isEmpty {
   let data = profilePictures[0]
}

但是,该数组可能包含 Data 对象,如果是这样使用

if let profilePictures = user["profilePicture"] as? [Data], !profilePictures.isEmpty  {
   let data = profilePictures[0]
}

或者 – 关键意味着 – profilePicture 的值是一个单一的对象,谁知道(但你......)

最后,一如既往,不要在 Swift 中使用 NSArray/NSDictionary

关于swift - 变量在它自己的初始值中使用 Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920705/

相关文章:

swift - 如何使 macOS 应用程序中的 NSButton 具有突出显示的边框?

java - 在其 Android SDK 1.11.0 上找不到 ParseCrashReporting-*.jar

python - 尝试通过 Python 中的 HTTPLib 将数据上传到 Parse

Swift 3 现场麦克风电平捕获

ios - swift 3 : Decimal to Int

json - Alamofire 和 SwiftyJSON 在请求函数之外获取值

ios - 下标使用不明确 - 仅在存档期间发生

parse-platform - 解析 "parse new "不起作用

ios - Swift 3.0 将图像写入目录

ios - 将字符串转换为数组字符