zoukankan      html  css  js  c++  java
  • iOS开发时使用的bundle路径

      bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle。

    通过使用下面的方法得到程序的main bundle
    NSBundle *myBundle = [NSBundle mainBundle];

    一般我们通过这种方法来得到bundle.如果你需要其他目录的资源,可以指定路径来取得bundle
    NSBundle *goodBundle;
    goodBundle = [NSBundle bundleWithPath:@"~/.myApp/Good.bundle"];

    一旦我们有了NSBundle 对象,那么就可以访问其中的资源了

    NSBundle束,是一种特定的文件类型,其中的内容遵循特定的结构。

    NSBundle的一个主要作用是 获取Resources文件夹中的资源

            在编程中使用[NSData dataWithContentOfFile:@"foo"]的时候,总是无法读取正确的文件内容。而使用[NSData dataWithContentOfFile:[[NSBundle mainBundle] pathForResource:@”foo” ofType:@”"]的时候就可以。

    因为当使用相对路径的时候,其实他相对的当前目录并不是程序运行的目录,而是“/”。只有使用[NSBundle mainBundle]来生成的路径才是文件真正的路径。
     
    在此记录一下:在以后的开发中不直接使用任何相对路径,而是使用经过计算以后的绝对路径。
     

    一.获取图片

      1.   NSString *path = [[NSBuddle mainBuddle] pathForResource:@"resourceName" oftype@"resourceType"];

           UIImage *image = [[UIImage imageWithContentsOfFile:path];

      2.   UIImage *image = [UIImage imageNamed:@"imageName"];

    二.获取plist文件

      NSArray *array =[[NSArrayalloc]initWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"name"ofType:@"plist"]];

      NSDictionary *dict=[arrayobjectAtIndex:index];//将plist文件中的内容转换成字典

    -------转(http://blog.csdn.net/bihailantian1988/article/details/7703358)

    最后记住:iOS开发使用的路径为bundle路径
  • 相关阅读:
    mysql运行报The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone的解决方法
    【SpringBoot】服务器端主动推送SSE技术讲解
    【SpringBoot】SpringBoot2.0响应式编程
    【SpringBoot】息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ
    第二部分初始阶段 第四章 初始不是需求阶段
    第一部分绪论 第三章 案例研究
    第一部分绪论 第二章 迭代,进化和敏捷
    第一部分绪论 第一章
    java集合(4)-Set集合
    java集合(3)-Java8新增的Stream操作集合
  • 原文地址:https://www.cnblogs.com/8335IT/p/8053877.html
Copyright © 2011-2022 走看看