看板 MacDev 關於我們 聯絡資訊
如題,想請問各位先進,目前小弟程式完成從後台撈json資料,解析並顯示於螢幕上 不過想從解析完的資料(有NSMutableArray也有NSDictionary)儲存到CoreData 達成離線瀏覽,不過遇問題如下 (1)CoreData是否能動態產生Entity? 假設我要存的Array、object model如下 ---------------------------------------------- MainViewItem *mData = [[MainViewItem alloc]init]; mData.titleID = [[arr objectForKey:@"id"] integerValue]; mData.title = [arr objectForKey:@"title"]; mData.unRead = [[arr objectForKey:@"unread"] integerValue]; Array[1]:mData.titleID = 1 mData.title = @"分類標題1" mData.unread = 0; Array[2]:mData.titleID = 2 mData.title = @"分類標題2" mData.unread = 9; . . . . ---------------------------------------------- 如果只有兩個,那我的Entity只要做兩個就好,那如果我要存10個以上或是不確定個數 要如何下手? (2)CoreData該如何存解析過後的json(Array、Dictionary)? 或是直接把原始的json存入CoreData? #新增1----------------------- 關於第一點,我剛剛想到解法如附圖 http://ppt.cc/1BhQ 一個Entity中,名為title/titleID/unRead的Attribute各有7個, #新增2----------------------- 目前遇到一個問題,假設我加入兩筆資料 AppDelegate *appDelegate = [UIApplication sharedApplication].delegate; NSManagedObjectContext *context = [appDelegate managedObjectContext]; OfflineMain *saveData = [NSEntityDescription insertNewObjectForEntityForName:@"OfflineMain" inManagedObjectContext:context]; saveData.title1 = @"測試1"; saveData.titleID1 = [NSNumber numberWithInteger:1]; saveData.unRead1 = [NSNumber numberWithInteger:3];; saveData.title2 = @"測試2"; saveData.titleID2 = [NSNumber numberWithInteger:2]; saveData.unRead2 = [NSNumber numberWithInteger:9];; 第一次存入並查詢時只出現第一筆"測試1"的資料,然後第二次存入再查詢時就出現 "測試1"、"測試2"的資料,為何不是第一次就全部顯示我所儲存的資料呢? 請問我該如何讓儲存的資料一次顯示? 程式碼:http://ppt.cc/Kwqr 感謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.26.235
uranusjr:Core Data 的 backend 是 relational database, 不太適合 03/04 14:02
uranusjr:你的使用情境; 如果需要不定 key 的隨意插入就只能自己搞 03/04 14:03
uranusjr:直接插入 JSON value 是一個方法, 或者是改用 document- 03/04 14:04
uranusjr:based 的儲存方案, 例如 NoSQL 的那一大群... 03/04 14:04
我也有想過Archiver成一個檔案,然後加/解密來存取,不過想試試看用CoreData來完成
whitefur:我想原PO的意思應該只是要產生很多個object (record) 03/04 14:11
whitefur:而不是不定key 03/04 14:11
whitefur:跑一個for不就好了? 03/04 14:12
好的,我來試試看! ※ 編輯: BS0824 來自: 36.231.26.235 (03/04 14:49) ※ 編輯: BS0824 來自: 36.231.26.235 (03/04 14:55) ※ 編輯: BS0824 來自: 36.231.26.235 (03/04 16:55)
tentenlee:這樣我會用plist 03/04 22:50
BS0824:我也有想過存成plist檔,不過想使用看看CoreData 03/05 09:46