2015-08-30 93 views
1

我目前正在研究Swift應用程序,它通過Mobile Buy SDK與Shopify API交互。我在將購物車儲存到設備時遇到問題。其他一切工作正常,但是當我使用下面的代碼到購物車保存到設備:將AnyObject保存到NSUserdefaults

func saveCart() { 
    NSUserDefaults.standardUserDefaults().setObject(cart, forKey: "cart") 
    println("cart saved") 
    } 

我收到以下錯誤:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to insert non-property list object <BUYCart: 0x7fb5e30512f0> for key cart' 
+0

NSCoding是不夠的; NSUserDefaults只接受plist類型。 – jtbandes

回答

0

NSUserDefaults類參考:

The NSUserDefaults class provides convenience methods for accessing common types such as floats, doubles, integers, Booleans, and URLs. A default object must be a property list, that is, an instance of (or for collections a combination of instances of): NSData , NSString , NSNumber , NSDate , NSArray , or NSDictionary . If you want to store any other type of object, you should typically archive it to create an instance of NSData . For more details, see Preferences and Settings Programming Guide.

希望這有助於!

+0

那麼我該如何去保存這個對象呢? –

+0

同樣的問題。你有答案嗎?用它從兩天內扣住 –

+0

你好我有同樣的問題?你有什麼解決方案嗎? –