Tôi có khoảng 60 hình ảnh tôi muốn lưu trữ trong Dữ liệu cốt lõi, 30 trong số đó là hình đại diện và có tiền tố là avt_filename_00X.png và 30 trong số chúng nhỏ hơn và có tiền tố khác nhau. Thay vì lưu trữ tất cả các hình ảnh dưới dạng BLOB trong Core Data/SQLite, tôi muốn lưu trữ đường dẫn cho mỗi hình ảnh được tìm thấy (giống như cách bạn lưu trữ đường dẫn hình ảnh cho cơ sở dữ liệu MySQL).Nhận đường dẫn hình ảnh từ NSBundle trong Mục tiêu C?
Tuy nhiên tôi không chắc chắn cách lấy đường dẫn của hình ảnh như được tìm thấy trong NSBundle.
Tôi có thể lấy đường dẫn đến NSDocumentDirectory qua:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager fileExistsAtPath:documentsDirectory];
NSLog(@"documentsDirectory = %@", documentsDirectory);
Và tôi có thể tải hình ảnh và thêm nó vào một mảng.
if (qty == 0)
{
//NSLog(@"fileToLoad = %@", fileToLoad);
UIImage *img = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileToLoad ofType:fileExt]];
[self.avtList addObject:img];
[img release];
} else {
// load multiple image into an array
// not coded yet
}
Nhưng, những gì tôi không rõ là:
Làm thế nào để lấy đường dẫn nơi máy tính tìm thấy hình ảnh một lần của nó bên trong NSBundle?
Làm cách nào để đảm bảo rằng đường dẫn sẽ hoạt động khi ứng dụng trên thiết bị?
Ý tưởng sẽ là lấy tất cả hình ảnh được lưu trữ trong một mảng và sau đó đẩy chúng vào Core Data/SQLite sau đó.
Vâng, điều đó có ý nghĩa. Tôi nghĩ rằng tôi sẽ chỉ lưu trữ tên tệp trong cơ sở dữ liệu và sau đó sử dụng mã NSBundle của bạn ở giai đoạn sau để lấy lại hình ảnh. – zardon