arrays - Swift 中存在数组问题

标签 arrays swift variables for-loop

我正在学习如何构建应用程序并使用 Swift 来完成此项目。

我有一个 friend 帮我从网站上提取数据,看起来他创建了带有变量的类并将它们映射到某些扩展名(IE“用户名”),所以当我调用变量数据(例如配置文件)时,我会调用它。下面使用luck_30能够存储“Stats.luck_30”

 luck_30.text = profile.luck_30

因此,在这个“Profile”类中的我的变量之一被设置为一个数组。我可以将数组从类中取出,但我似乎无法使用 for while 语句将 [#] 替换为 for 命令中的变量。

func aliveWorkers(profile: Profile) -> NSNumber{
    var myworkers : Array = profile.workers!

    //this test works and returns the proper value
    var testworker: NSNumber = myworkers[0].alive!
    println("The satus of the test worker is " + testworker.description)

    /* This code is giving error "Could not find member alive" it does not ifor var
    for ifor in myworkers{
        var thisworker: NSNumber = myworkers[ifor].alive! as NSNumber
    }
    */
    return 42
}

最佳答案

你的变量ifor不是一个计数器,它是一个实际的对象。你可以这样做:

for worker in myWorkers {
    let workerIsAlive = worker.alive!
}

或者,如果您需要索引,

for i in 0 ..< myWorkers.count {
    let worker = myWorkers[i]
    let workerIsAlive = worker.alive!
}

如果您两者都需要:

for (i, worker) in enumerate(myWorkers) {
    let workerIsAlive = worker.alive!
}

就风格而言,我会远离 NSNumber 并使用 IntBool 或任何实际数据。另外,看起来 alive 变量不应该是可选的,因为您在任何地方都将其展开。为了避免以后出现“神秘”崩溃,您可能需要考虑将其设为非可选类型。

关于arrays - Swift 中存在数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31307584/

相关文章:

PHP:无意的多维数组而不是一维

javascript - 在javascript中定义和声明变量有什么区别吗?

javascript - 在 Bacon.js 中使用变量作为 EventStream 或 Property

javascript - ES6 Spread 运算符到 vanilla Javascript

c - 打印 C 中函数返回的字符数组

swift - 在模态表上设置第一响应者

swift - 如何在 macOS 上正确存储加密 key 以便只有我的可执行文件可以访问它们?

swift - 如何随机排列问题并显示数组中的一项

ios - 在应用程序退出时保存变量

php SQL 数组的动态列表 - 如何设置顺序?