Продолжайте получать (lldb) и зачем разворачивать элемент после использования .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)

Я получаю точку останова, когда объявляю наименьший индекс, и он печатает (lldb). Кроме того, xCode хочет, чтобы я поставил "!" чтобы развернуть значение, зачем мне это нужно, если я знаю, что это целое число?


person FusionPointInc    schedule 05.07.2016    source источник
comment
Вы можете получить lowestNumber, просто используя: let lowestNumber = mainArray.min()!   -  person Alexander    schedule 05.07.2016
comment
Да, я знал это... Но это было странно, потому что оно было завернуто. Кроме того, я пытаюсь имитировать проект Java, который я сделал в течение года, и я хотел сделать его как можно более похожим. Спасибо за ваш комментарий!   -  person FusionPointInc    schedule 05.07.2016


Ответы (1)


(lldb) — это командная строка, когда вы приостанавливаете программу для отладки. Оттуда вы можете вводить команды для проверки состояния вашей программы. Например, чтобы напечатать содержимое mainArray:

(lldd) po mainArray

mainArray.indexOf(aNumber) возвращает Optional<Int>, поскольку число может не быть найдено в массиве, и в этом случае возвращается nil.

person Code Different    schedule 05.07.2016
comment
Спасибо! Ценить это! - person FusionPointInc; 05.07.2016