gpt4 book ai didi

ios - XCode 6.1 可能的索引错误?

转载 作者:搜寻专家 更新时间:2023-11-01 05:42:30 26 4
gpt4 key购买 nike

我试图通过以下方式在 playground 中创建一个复杂的 Array:

import UIKit

let demoData = [
[
"name":"Mr Bean",
"number": "012345678",
"address": "4 D. Street",
"dob": "21-9-1970",
"gender": "male",
"docs": [
"alerts":["jt_alert_1.jpg", "jt_alert_2.jpg"],
"notes":["jt_notes_1.png", "jt_notes_2.jpg", "jt_notes_3.jpg", "jt_notes_4.jpg"],
"correspondence": [],
"investigations": [],
"operationsheets": [],
"treatmentcharts": []
]
],
[
"name":"Jenny Thomas",
"number": "012345679",
"address": "5 D. Street",
"dob": "22-9-1970",
"gender": "female",
"docs": [
"alerts":[],
"notes":[],
"correspondence": [],
"investigations": [],
"operationsheets": [],
"treatmentcharts": []
]
]
];

let notes: AnyObject? = demoData[0]["docs"]!["notes"]!
let notePics = notes as Array<String>
notePics[0]

右下角的纺车一直在旋转。当我创建一个新的 swift 项目时,相同的代码在 XCode 索引时卡住了所有内容

有没有人遇到同样的问题?如果是,有什么解决办法吗?

提前致谢

最佳答案

你的数据非常复杂,让 Swift 很难弄清楚你在做什么。给编译器关于 demoData 结构的提示:

let demoData:[[String:AnyObject]] = [
...

一切都会好起来的。

您可能还想更明确地说明在解包结构时您希望找到什么:

if let docdict = demoData[0]["docs"] as? [String:AnyObject] {
if let notePics = docdict["notes"] as? [String] {
println(notePics[0])
}
}

可选绑定(bind) (if let) 结合条件转换 (as?) 为你的程序。如果您对其中一个键有误,或者如果您对值的数据类型有误,这将永远不会进入内部 block 。如果您使用强制解包 (!),如果键不在您的字典中,您的程序就会崩溃。同样,如果您将值(使用 as)强制转换为不是它的类型,您的程序将会崩溃。

关于ios - XCode 6.1 可能的索引错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com