[問題] 想把一個Dictionary強制轉型成AnyObject
我目前在做練習的專案
想做的事情是這樣:
在view上操作完之後要把detail存起來
在下次打開app的時候可以顯示最後操作的畫面
我google的結果是要用NSUserDefaults的setObject來儲存
不過setObject只能儲存特定格式的object,所以Account裡面的變數要encode
但在encodeWithCoder裡要把detail轉型成AnyObject時一直失敗
(var detail = [NSDate: [Detail]]() )
我想請問要把像detail這樣的結構轉成AnyObject該怎麼轉呢?
如果沒有辦法轉的話,有什麼其他替代的方法可以做到我想要的結果嗎?
簡碼如下,如果有什麼不清楚的地方請告訴我,我會再補充,感謝
Struct Detail {
var name: String
var num: Int
}
Class Account: NSOBject, NSCoding {
var detail = [NSDate : [Detail]]()
required init?(coder aDecoder: NSCoder) {
let decodeObj = aDecoder.decodeObjectForKey("detail")
if let object = decodeObj as? [NSDate: [AccountDetail]] {
detail = object
}
}
func encodeWithCoder(aCoder: NSCoder) {
if let object = detail as? AnyObject { // 這個if一直不會進來
aCoder.encodeObject(object , forKey: "detail")
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.4.77
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1461422663.A.AB3.html
※ 編輯: genesic (61.231.4.77), 04/23/2016 22:46:26
→
04/23 23:18, , 1F
04/23 23:18, 1F
→
04/23 23:20, , 2F
04/23 23:20, 2F
推
04/23 23:45, , 3F
04/23 23:45, 3F
→
04/24 00:21, , 4F
04/24 00:21, 4F
→
04/24 00:21, , 5F
04/24 00:21, 5F
→
04/24 00:22, , 6F
04/24 00:22, 6F
→
04/24 01:17, , 7F
04/24 01:17, 7F
→
04/24 01:17, , 8F
04/24 01:17, 8F
→
04/24 01:18, , 9F
04/24 01:18, 9F
→
04/26 16:08, , 10F
04/26 16:08, 10F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章