在 Swift 中迭代 JavaUtilList
Posted
技术标签:
【中文标题】在 Swift 中迭代 JavaUtilList【英文标题】:Iterate over a JavaUtilList in Swift 【发布时间】:2015-04-16 08:38:02 【问题描述】:我有一个用 J2Objc 翻译的列表:
var userDtoIds:JavaUtilList = // some list
现在我想用for in
循环遍历这个列表。我试过了:
for iten in userDtoIds
错误:类型“JavaUtilList”不符合协议“SequenceType”
与:
let arr:iosObjectArray = userDtoIds.toArray()
for iten in arr
我收到错误:类型“IOSObjectArray”不符合协议“SequenceType”
它的唯一工作方式是:
for var i:Int32=0; i < userDtoIds.size(); i++
我可以使用 for in
循环来迭代 JavaUtilList 吗?
编辑:
以下代码导致运行时错误:
var list = userDtoIds as! NSArray
for item:String in list as! [String]
【问题讨论】:
您需要将 userDtoIds 转换为 AnyObject 或 NSArray ,请遵循此type-anyobject-does-not-conform-to-protocol-sequencetype @pawan 你能发表一个答案吗?我不知道怎么做。该链接对我没有帮助。 【参考方案1】:extension IOSObjectArray: Sequence
func makeIterator() -> Iterator
// Create iterator
Here is a wonderful article on conforming custom collection types, even if you are using j2objc.
【讨论】:
以上是关于在 Swift 中迭代 JavaUtilList的主要内容,如果未能解决你的问题,请参考以下文章