MacDev 板


LINE

最近在練習cs193p中的coredata實做,遇上了一些問題,google了兩三天,不過還是 沒有解套,因此只能來這邊麻煩大家。新手發問還請多包涵,謝謝。 (由於人在外地,不是使用自己的電腦沒有code可以貼,有不清楚還多請見諒) 問題1. NSFetchRequest的setFetchBatchSize怎麼運作? 在實做中,我用NSFetchRequest hook NSFetchResultController來取MOC中的 entity's attribute,在NSFetchRequest中有setFetchBatchSize。 我理解的兩種解釋,第一種是當有設定BatchSize時,則從persistentStore 取到的資料筆 數就是size數並取N次;第二種則是會載入全部資料,但動態載入BatchSize數量到NSArray (目前文件看到是第一種解釋)。我透過SQLDebug方式去看coredata執行SQL的結果,以及 count取得的資料筆數,卻非上述兩種解釋,請問是否我的理解有誤或code有誤? 大概的code segment: NSFetchRequest *fetchReq=[NSFetchReqeust fetchRequestWithEntityName:@"Photo"]; fetchReq.fetchBatchSize =10; fetchReq.sortDescriptors=@[[[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES]]; NSFetchRequestController *FRC=[NSFetchRequestController alloc]; [FRC initWithFetchRequest:fetchReq managedObjectContext:self.document.managedObjectContext sectionNameKeyPath:@"title" cacheName:nil]; 問題2. coredata的faulting機制 其實是在解決問題1的時候,延伸出來的問題。faulting機制是指data動態載入 (已經從NSFetchRequest fetch data至NSArray),也就是get @property時才會載入data 至memory。 我在get @property之前與之後,也確實看到在get之前是沒有data放入NSArray 中,get之後就會載入data。但問題是我使用malloc_size去看NSArray在get @property 之前與之後的記憶體配置,並沒有兩樣呀?按照文件所述,應該是載入前memory配置少 ,載入後配置多,請問我哪邊理解錯誤了嗎?而fetchBatchSize正確來說,應該就是設 定每次載入的數量,count的數量應該等同於BatchSize,這樣理解對嗎? 大概的code segment: NSError *error; NSArray *data=[self.document.managedObjectContext executeFetchRequest: fetchReq error:&error]; NSLog(@"%zd", malloc_size((__bridge const void*)(data))); //always 32 byte for(id *tmp in data){ NSLog(@"%@", tmp.title); } NSLog(@"%zd", malloc_size((__bridge const void *)(data)));//always 32 byte P.S.:當中有另外[data class],return是_PFArray,是coredata的一個subclass of NSArray,目前還沒時間釐清,但個人猜測malloc_size是不是計算到_PFArray 中的基本data type如int等的bytes? 以上,再麻煩大家了,我覺得我應該只是卡在些簡單的觀念沒搞清楚。有講解不清的 再煩請告知,我會再修改,感謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.237.244
※ 文章網址: http://webptt.com/m.aspx?n=bbs/MacDev/M.1406912388.A.196.html







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP