Я пытаюсь выработать пример, который предоставляется на developer.apple.com website 'Swift Playground'. Мне пришлось немного адаптировать его, так как swift 2 - это то, что похоже на то, что он отличается от переменных «inout». В примере, показанном в презентации 'inout', не было использовано в объявлении функции. В любом случае результат «данных» не отображается на игровой площадке, хотя код не показывает ошибок компиляции.Пример сортировки результатов Swift не отображается на игровой площадке
import UIKit
var data = [16, 97, 13, 55, 95, 53, 18, 10, 79, 53, 79, 34, 50, 34, 0, 91, 94, 55, 6, 38, 7]
func exchange<T>(inout data:[T], i: Int, j: Int) {
let temp = data[i]
data[i] = data[j]
data[j] = temp
}
func swapLeft<T: Comparable>(inout data: [T], index: Int) {
for i in reverse(1...index) {
if data[i] < data[i-1] {
exchange(&data, i, i-1)
}else {
break
}
}
}
func isort<T: Comparable>(inout data: [T]) {
for i in 1...data.count {
swapLeft(&data,i)
}
}
data //result [16, 97, 13, 55, 95, 53, 18, 10, 79, 53, 79, 34, 50, 34, 0, 91, 94, 55, 6, 38, 7]
isort(&data)
data //no result shown
Я думаю, что вы получили правильный ответ сейчас, но как дополнительный намек: Вы могли бы найти ошибку себя в «помощник редактора» (View -> Помощник редактора -> Показать помощника редактора). Кроме того, если на игровой площадке что-то не так, я могу только рекомендовать протестировать код в скомпилированном проекте (лучшие сообщения об ошибках, лучшие возможности для отладки). –