swift - Swift 中的枚举对象使用 block

标签 swift

我正在尝试使用 enumerateObjectsUsingBlock 遍历数组来获取数据。 如何在 Swift 中使用 enumerateObjectsUsingBlock?请帮我举个例子。

最佳答案

基金会

enumerateObjectsUsingBlock: 不是 Array 上的方法,而是 NSArray 上的方法。如果你想使用它,你需要一个 NSArray 的实例而不是 Array。

import Foundation

var array: NSArray = ["Some", "strings", "in", "an", "array"]

array.enumerateObjectsUsingBlock({ object, index, stop in
    //your code
})

如果你有一个现有的数组,你可以使用 as

将一个 swift Array 转换为一个 NSArray
var cocoaArray = swiftArray as NSArray

或者,如果您只是简单地import Foundation,Swift 编译器将自动将您的 Swift 数组桥接到 NSArray,并且所有 NSArray 方法都将对您可用。

swift 1

或者你可以只使用 Swift 的 enumerate 函数:

for (index, value) in enumerate(array) {
    // your code
}

swift 2

在 Swift 2 中,enumerate 不再是免费函数,现在它在协议(protocol)扩展中!

for (index, value) in array.enumerate() {
    // your code
}

swift 3

在 Swift 3 中,enumerate 被重命名为 enumerated

for (index, value) in array.enumerated() {
    // your code
}

关于swift - Swift 中的枚举对象使用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24120115/

相关文章:

swift - 在 MacOS 中以编程方式关闭模式对话框

ios - 在 SWIFT 中将图像作为 POST 发送

ios - 动态改变容器的高度

swift - SearchResultsController 出现在 UINavigationBar 上

ios - Alamofire 的自定义、基于内容的验证器(在 Swift 中)

IOS wkwebview响应式设计不填满全屏

swift - 使用控件将 spritenode 移动一圈

swift - 算术表达式中的字面 Int 到 Double 强制转换

ios - 如何使用 swift 使用 UIActivityViewController 仅通过电子邮件共享

ios - 如何使用 Parse & Swift 存储帖子的评论?