在AcaniUsers,我下載的最近20個用戶,我和展示他們的個人資料照片在表視圖縮略圖。用戶&照片都是資源,因爲它們在服務器上都有一個id
(MongoDB BSON ObjectId)。每個用戶都有一個unique_id。每張照片在服務器上有四種不同的尺寸(圖像):方形:75x75,方形@ 2x:150x150,大:320x480,大@ 2x:640x960。但是,每個設備只有兩種尺寸,具體取決於它是iPhone 3還是4(視網膜顯示屏)。每種尺寸都有自己的MongoDB集合。而且,每張照片的所有四張圖像在這四個集合中都具有相同的BSON ObjectId。
未來,我可能會給用戶一個叫做photos
的關係,以允許用戶擁有多張照片。另外,雖然我沒有預見到這一點,但我可以添加更多的圖像大小(類型)。
fresh
屬性Image
告訴我我是否下載了最新的Image。每當Photo
的ID發生變化時,我將其設置爲NO
,然後在完成下載映像後返回到yes。
我應該將四個不同的圖像存儲在覈心數據還是文件系統中,並將它們的URL存儲在覈心數據中?我讀過1或2MB以上的地方,你應該存儲在文件系統中,而不是核心數據。所以,我正在考慮將核心數據中的方形圖像和文件系統中的大圖像存儲起來,但我寧願將它們存儲在一起以使事情更容易。那麼,也許我只是將它們全部存儲在文件系統中?你怎麼看?
您是否認爲我應該丟棄75x75 & 320x480尺寸,因爲很快iPhone 3將會消失?
如何改進我對實體的設計,以及它們的屬性和關係。例如,資源實體是否有益呢?
我使用NSFetchedResultsController顯示用戶。但是,它不知道用戶圖像何時更新,因此只有在我第一次積極滾動時纔會顯示圖像。我如何讓NSFetchedResultsController知道用戶的縮略圖已經完成下載?我必須使用KVO嗎?