我正在開發一個消息應用程序(類似WhatsApp),用戶可以將文本和圖像消息發送給另一個。使用核心數據圖像填充tableView
我創建的NSManagedObject
一個Message
對象,子類來存儲這樣的消息的詳細信息:
SENDER_NAME,timestemp,MESSAGE_TEXT和message_image(用於圖像消息)
*的圖像的平均大小是一樣的大小從iPhone相機捲圖書館拍攝的圖像。
第一個問題是:
將圖像保存到核心數據或者將它們保存到文件系統會更好嗎?
問題是,當我在聊天視圖中滾動tableView以查看舊消息時,滾動性能在從核心數據加載圖像時變得非常糟糕。
我正在使用NSFetchedResultsController
來獲取郵件,而且我一次只讀取30個郵件。我試圖通過創建MessageImage
對象(也是NSManagedObject
的子類)來存儲UIImage
以提高性能。
A Message
對象與MessageImage
有一對一的關係,我這樣做是爲了當fetcher從Core Data加載30條消息時,UIImage本身不會被加載,直到請求。但仍然表現不佳...
所以第二個問題是:
我該怎麼做才能提高滾動性能?
保存圖像常見哪條路徑?你有沒有任何代碼示例? – Eyal 2012-07-21 22:20:38
在您應用程序的文檔文件夾中。或者可能在其中的子文件夾中。你得到文件夾的路徑是這樣的:'NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString * documentsDirectory = [paths objectAtIndex:0];' – DrummerB 2012-07-22 00:02:09
與[NSHomeDirectory()stringByAppendingPathComponent:@「Documents/fileName.jpg」]之間的任何不同之處: – Eyal 2012-07-22 07:30:31