Dường như với tôi rằng lưu trữ hình ảnh trong dữ liệu cốt lõi không phải là một ý tưởng hay và tôi chắc chắn tôi cũng đã đọc nó trên một trong các hướng dẫn lập trình của Apple. Chỉ cần xem xét điều này, khi bạn tìm nạp bộ sưu tập của mình, tất cả hình ảnh cũng sẽ được tải vào bộ nhớ, ngay cả khi bạn chỉ hiển thị 8 hình ảnh, toàn bộ bộ sưu tập hình ảnh của bạn sẽ được tải bởi dữ liệu cốt lõi.
Nếu bạn muốn chắc chắn rằng bạn xóa các tập tin hình ảnh khi một kỷ lục di chuyển đã bị xóa tôi đề nghị bạn nghe thông báo bởi các managedObjectContext và xóa các tập tin khi một bộ phim đã bị xóa:
Bạn có thể đăng ký tham gia willSave hoặc đã lưu thông báo, mỗi thông báo đều có lợi thế/nhược điểm riêng.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contextDidSave:) name:NSManagedObjectContextDidSaveNotification object:managedObjectContext];
Bắt các đối tượng bị xóa:
- (void) contextDidSave:(NSNotification *)notification
{
NSDictionary *userInfo = [notification userInfo];
for (NSManagedObject *currObject in [userInfo objectForKey:NSDeletedObjectsKey])
{
// Code for deleting file associated with the NSManagedObject, you can still
// access the managed object's properties.
}
}
Nguồn
2010-01-25 11:23:21
Đây là bản sao của http://stackoverflow.com/questions/1168954/storing-large-eg-image-movie-files-in-core-data-on-the-iphone và http: // stackoverflow. com/questions/2090028/core-data-storage-images-iphone –