【问题标题】:Handling ios Bundle Path Changes处理 ios Bundle 路径更改
【发布时间】:2015-01-30 21:07:36
【问题描述】:

我刚刚遇到了以下问题中描述的问题:

ios 8: Bundle path changes

我有一个应用程序,您可以在其中将图像附加到项目,如果您不想要,可以使用默认图像。

所有的项目都是使用Core Data“保存”的,所以项目实体基本上有一个“imageFilePath”属性。

如果选择默认图片,那么imageFile路径设置为:

imageFilePath = [[NSBundle mainBundle] pathForResource:@"defaultImage1" ofType:@"png"]

问题在于,对于 iOS8,此路径在下次运行时不再有效,因此我的应用程序将图像视为丢失。

对于此问题,您会推荐什么最佳解决方案?

1) 也许我可以在模型中设置这是一个捆绑资源,而不是放置完整路径?然后我会有两种资源。

2) 我可以在第一次应用程序启动时复制文档目录中所需的资源吗?

谢谢。

---编辑---- 文档目录也在“移动”,所以 2) 不是一个真正的选择..

--- 第二次编辑 ---

所以我采用了以下方法。我引入了一个新的对象“ImageStore”,它可以使用键存储/检索图像,作为奖励,它可以缓存创建的 UIImages。

@interface MyImageStore : NSObject

+ (id) sharedStore;

- (NSString*) imagePathForKey:(NSString*) key;

- (void) setImageData: (NSData*) data forKey: (NSString*) key;

- (UIImage*) getImageForKey: (NSString*) key;

- (void) deleteImageForKey: (NSString*) key;

- (void) clearCachedImages;

@end

现在 Item 实体有一个 imageFileKey 属性而不是 imageFilePath。

【问题讨论】:

    标签: ios objective-c ios8 nsbundle


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多