Создайте многомерный массив, чтобы объекты читались в том же порядке, что и созданные - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь создать многомерный массив, используя забавный c, который я предпочитаю, так как его легче читать, чем очень длинную строку. Проблема заключается в том, что когда он сохраняется в UserDefaults.standard месте, то при чтении массива пары объектов НЕ возвращаются в том же порядке, в котором они были созданы. Это возможно, или я спрашиваю слишком много?

Вот код, который я использую, и вывод ниже: -

func testDatabase() {
    var defaultArray = [[String: Any]]()
    defaultArray.removeAll()
    defaultArray.append(["item": "First item", "quantity": 1])
    defaultArray.append(["item": "Second item", "quantity": 2])
    defaultArray.append(["item": "Third item", "quantity": 3])
    defaultArray.append(["item": "Fourth item", "quantity": 4])
    defaultArray.append(["item": "Fifth item", "quantity": 5])
    preferences.set(defaultArray, forKey: "defaultArray_Prefs")
    defaultArray = (preferences.array(forKey: "defaultArray_Prefs") as? [[String: Any]])!
    print("defaultArray = \(defaultArray)")
}

Вывод: -

defaultArray = [["quantity": 1, "item": First item], ["item": Second item, "quantity": 2], ["quantity": 3, "item": Third item], ["quantity": 4, "item": Fourth item], ["item": Fifth item, "quantity": 5]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...