Re: [問題] iPhone 4s 存資料到 NSUserDefault

作者: y03131003 (Jimmy)   2014-08-03 23:43:23
※ 引述《darktt (小朱)》之銘言:
: ※ 引述《y03131003 (Jimmy)》之銘言:
: : 我有一個array(裡面最多有150個物件)裡面裝的都是我自己的class object
: : 所以我把array裡的東西用以下的方法轉成NSData再存進NSUserDefault
: : NSData *encodedObject = [NSKeyedArchiver
: : archivedDataWithRootObject:objectInArray];
: : 這方法在 iPhone 5 以上的機種都沒問題
: : 但是在 iPhone 4s (iOS 7) 卻會嚴重影響效能..
: : 存檔的時間要非常久(5~10秒) 有時還會因為 memory pressure 而閃退
: : 請問有什麼好辦法嗎?
: : 換成 SQLite 或是 CoreData 能改善嗎?
: NSUserDefaults 也能存 array 的資料,
: 為什麼轉成 NSData 才能存?
: 是為了加密嗎?
: 還是有什麼理由?
array裡裝的物件都是我自己建立的class的物件
比如說Friend這個class
裡面有NSString *name
NSString *email
這樣array沒辦法直接存進NSUserDefault
要在Friend class裡寫encoder
然後才把Friend物件轉成NSData放進array存進NSUserDefault..
作者: whitefur (白毛)   2014-08-04 10:39:00

Links booklink

Contact Us: admin [ a t ] ucptt.com