从资产和核心数据连接文件的最佳方式?

时间:2014-09-08 09:18:22

标签: ios core-data

我对iOS开发很新:)

现在我正在用烹饪食谱编写应用程序。我在Core数据中有配方模型。当用户选择烹饪食谱时,我希望显示带有描述的文本,来自与该食谱相关的资产的图像,以及来自带有成分表的资产的UIWebView html文件。如何将核心数据对象与资产中的文件相关联。在android中我会采用食谱ID和命名文件ID.jpg和ID.html,但iOS中的核心数据如何?

1 个答案:

答案 0 :(得分:0)

您可以在网上找到一些非常好的教程。 当我不得不参与我的项目时,我的发展基于这个:http://www.raywenderlich.com/12170/core-data-tutorial-how-to-preloadimport-existing-data-updated

编辑回答: 您可以在Finder中创建一个名为Recipes.bundle的新捆绑包(捆绑包是一个简单的文件夹,其名称以.bundle结尾) 在创建的捆绑包中,为具有以下结构的每个技术ID添加新文件夹:

Recipes.bundle
    |
    - 1
      |- photo.jpg
      |- description.html
    - 2 
      |- photo.jpg
      |- description.html

将捆绑包添加到Xcode项目中,然后使用这些行访问与记录关联的数据

 NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"bundle"]; 
 NSString *imageName = [[NSBundle bundleWithPath:bundlePath] pathForResource:[NSString stringWithFormat:@"%d/photo", **technicalID**] ofType:@"jpg"]; 
 UIImage *myImage = [[UIImage alloc] initWithContentsOfFile:imageName];

 NSString *htmlFilePath = [[NSBundle bundleWithPath:bundlePath] pathForResource:@"description" ofType:@"html"]; 
 NSString *description = [NSString stringWithContentsOfFile:htmlFilePath encoding:NSUTF8StringEncoding error:&error];