Swift: печать значений массива по добавленным - PullRequest
0 голосов
/ 15 сентября 2018

Мой код:

internal static var myList = [Int: String]()

let data = "1:Tea#12:Food#2:Milk#7:Juice#4:Coffee"
let array = data.components(separatedBy: "#")
for value in array {
    let val = value.components(separatedBy: ":")
    myList[Int(val[0])!] = "\(val[1])"
}

Теперь распечатайте массив:

var j = 0
for sort in myList {
    print("\(sort.value) (+\(sort.key))")
}

Вывод:

Tea
Milk
Coffee
Juice
Food

Но я хочу распечатать добавленный в массив:

Tea
Food
Milk
Juice
Coffee

Мой массив печатает значения по ключу, но я хочу, чтобы печать добавлялась в массив

1 Ответ

0 голосов
/ 15 сентября 2018

Используйте структуру

struct Item {
    let added : Int
    let index : Int
    let name : String
}

и сопоставьте массив строковых компонентов с экземплярами этой структуры

var myList = [Item]()

let data = "1:Tea#12:Food#2:Milk#7:Juice#4:Coffee"
for (index, element) in data.components(separatedBy: "#").enumerated() {
    let val = element.components(separatedBy: ":")
    myList.append(Item(added: index, index: Int(val[0])!, name: val[1]))
}
print(myList)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...