继续获取“(lldb)”以及为什么在使用 .indexOf() 后展开元素

Keep getting "(lldb)" and Why unwrap element after using .indexOf()

我正在用 Swift 编程语言编写程序。我对这门语言也很陌生:)。 我的命令行程序应该将数组中的最低值与数组中的第一个元素切换。

例如, 输入 = [1, 7, 100, -4, 800, 9999];输出 = [-4, 7, 100, 1, 800, 9999]

这是未完成的代码。我得到一个断点并弹出 (lldb)。我

import Foundation

var mainArray : Array<Int> = [1, 7, 100, -4, 800, 9999]

var lowestNumber = mainArray[0]

for element in mainArray{
    if element < lowestNumber {
        lowestNumber = element
    }
}

let lowestIndex = mainArray.indexOf(lowestNumber)
print(lowestIndex!)
let firstNumber = mainArray[0]
let firstIndex = mainArray.indexOf(firstNumber)

当我声明 lowestIndex 并打印 (lldb) 时,我得到了一个断点。另外,xCode 要我放一个“!”要打开值,如果我知道它是一个整数,为什么我必须这样做?

(lldb)是暂停程序调试时的命令提示符。从那里,您可以键入命令来检查程序的状态。例如打印mainArray的内容:

(lldd) po mainArray

mainArray.indexOf(aNumber) returns 和 Optional<Int> 因为数组中可能找不到该数字,在这种情况下它 returns nil.