我正在开发一个消息应用程序(类似于 WhatsApp),用户可以互相发送文本和图像消息。
我创建了一个Message
对象,它的子类NSManagedObject
,用于存储消息详细信息,例如:
sender_name、timetemp、message_text 和 message_image(用于图像消息)
* 图像的平均大小就像从 iPhone 相机胶卷库中拍摄的图像的大小。
第一个问题是:
将图像保存到 Core Data 是个好主意,还是将它们保存到文件系统更好?
问题是,当我在聊天视图中并滚动 tableView 以查看旧消息时,当有图像要从核心数据加载时,滚动性能会变得非常糟糕。
我正在使用 aNSFetchedResultsController
来获取消息,并且一次获取的消息不超过 30 条。我试图通过创建一个MessageImage
对象(也是 的子类NSManagedObject
)来存储UIImage
.
一个Message
对象与 具有一对一的关系MessageImage
,我这样做是为了当 fetcher 从 Core Data 加载 30 条消息时,UIImage 本身在请求之前不会被加载。但我仍然表现不佳......
所以第二个问题是:
我能做些什么来提高滚动性能?