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

看板MacDev作者 (Jimmy)時間11年前 (2014/08/03 23:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《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.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.218.72 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1407080606.A.AFD.html

08/04 10:39, , 1F
08/04 10:39, 1F
文章代碼(AID): #1JtbYUhz (MacDev)
文章代碼(AID): #1JtbYUhz (MacDev)