我已經把一個數組NSUserDefaults的(),像這樣:的iOS:如何NSUserDefaults的存儲AnyObject類型轉換爲數組
NSUserDefaults.standardUserDefaults().setObject(users, forKey: "usersArray")
NSUserDefaults.standardUserDefaults().synchronize()
然後我拉出來,像這樣:
fetchedUserArray = NSUserDefaults.standardUserDefaults().objectForKey("usersArray")
問題我面臨的是,一旦從NSUserDefaults中刪除它,它的類型是NSArray,阻止我像Swift數組那樣操縱它。我曾經試過這種轉換的類型,但是編譯器無法識別變量「castedUsersArray」當它在後面的代碼,儘管在類型轉換不會引發任何錯誤使用:
var fetchedArray = NSUserDefaults.standardUserDefaults().objectForKey("usersArray") as? NSArray
var castedUsersArray = fetchedArray as AnyObject as [String]
我花了很長時間沒有成功。 Swift的類型限制讓我瘋狂。
謝謝
尼克
'as AnyObject'並不意味着你施放了....最終你定義了這個變量的類型爲AnyObject –
如果你存儲數組然後像這樣檢索NSUserDefaults.standardUserDefaults()。arrayForKey(「usersArray」) –
[(Swift)存儲和檢索數組到NSUserDefaults可能重複](http://stackoverflow.com/questions/30118735/swift-storing-and-retrieving-array-to-nsuserdefaults) –