Я могу получить одну строку для сохранения в NSUserDefaults, но я не уверен, почему она не сохранит массив, используя приведенный ниже код. Я уверен, что это что-то маленькое, но может использовать указатель.nsuserdefault не сохраняет массив - Swift
//
// ViewController.swift
// DemoUserDefaults
//
// Created by Chris Cantley on 10/7/14.
// Copyright (c) 2014 Chris Cantley. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var storeNames:[String] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
storeNames.append("Billy")
storeNames.append("Chris")
// Shows the strings in the array.
println(storeNames)
// puts mutable into immutable object
let holdNames = storeNames
// "should" store the object into UserDefaults... but does not.
NSUserDefaults.standardUserDefaults().setObject(holdNames, forKey: "storeNames")
NSUserDefaults.standardUserDefaults().synchronize()
// Displays all data in UserDefaults... array is missing.
println(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())
}
}
Результат ...
[Billy, Chris]
[NSLanguages: (
en
), AppleITunesStoreItemKinds: (
audiobook,
"tv-episode",
booklet,
software,
"software-update",
"itunes-u",
ringtone,
"tv-season",
movie,
mix,
newsstand,
song,
wemix,
tone,
artist,
"podcast-episode",
podcast,
document,
eBook,
album,
"music-video"
), AppleKeyboardsExpanded: 1, NSInterfaceStyle: macintosh, AppleKeyboards: (
"[email protected]=US;sw=QWERTY",
"[email protected]=Emoji",
"[email protected]=US;sw=QWERTY"
), AppleLanguages: (
en
), names: Rob]
Примечание: "Имена: Rob" от предыдущей одной строки сохранения.
Что еще находится в вашем массиве, кроме "Билли" и "Крис"? Потому что они наверху. –
Имеются два оператора println(). Первый подтверждает, что в массиве есть данные. Второй вывод NSUserDefaults показывает, что массив не был добавлен. –