Я пытаюсь создать многомерный массив, используя забавный 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]]