我在想,如果有人能告诉我如何将其转换为SWIFT 3:转换为斯威夫特2〜3
for index = 0; index < jsonObjects.count; index += 1 {
...
}
我是菜鸟/砍了那么一点点的解释将是很好。试图学习。谢谢。
我在想,如果有人能告诉我如何将其转换为SWIFT 3:转换为斯威夫特2〜3
for index = 0; index < jsonObjects.count; index += 1 {
...
}
我是菜鸟/砍了那么一点点的解释将是很好。试图学习。谢谢。
你可以做最简单的方式(因为你jsonObject
是一个集合):
for obj in jsonObjects {
print(obj)
}
或者你可以做的功能方式:
stride(from: 0, to: jsonObjects, by: 1).forEach({ obj in
print(jsonObjects[obj])
})
c样式for循环已从swift中删除,因为有更优雅的解决方案。
,你可以遍历一个范围:
for index in 0 ..< jsonObjects.count {
...
}
0 ..< jsonObjects.count
创建范围从0到jsonObjects.count-1
。如果应包含最后一个索引,请使用...
。
此外,它看起来像jsonObjects
是一个集合,所以你可以只使用
for object in jsonObjects {
...
}
如果需要的索引,使用
for (index, object) in jsonObjects.enumerated() {
...
}
尝试使用地图,或flatmap为自选
_= jsonObjects.map { object in
//manipulate your object
print(object)
}
还有如何使用它们以及许多在线指南等,这里是一个很好的一个:link
不是,但我一直认为迅捷推动更多的地图和功能编程,而不是定期循环 – Abdoelrhman
哦,哎呀,对不起 - 我的坏。我以为你在说'可选'的'map(_ :)'。但是使用'map(_ :)'来循环数组是没有意义的,因为你没有使用结果数组。相反,使用'forEach(_ :)'或一个常规的'for in'循环。 – Hamish
搜索'[迅速]Ç风格为循环',你会发现*许多*答案... –
学习是_you_做的事情。 – matt
我可以想出至少3种同样好的方法来做到这一点,你试过了吗? –