zoukankan      html  css  js  c++  java
  • NSBundle

    1⃣NSBundle 类,直接继承NSObject类.。

     这个类的对象,代表了 app 中代码和资源的文件在文件系统里所在的位置,通俗的说,就是定位了程序使用的资源(代码,图形,音乐等数据)在文件系统里的位置,并可以动态的加载、or卸载掉可执行代码。

      类方法: + (NSBundle *)mainBundle,返回一个 NSBundle类的对象,这个对象就是一个完全path,这个 path 保存的当前可执行的app路径,或者是 返回nil。app ,Build之后, 资源文件直接就复制到了根目录下,于是读取的方法,应该是这样。

       注意点:在使用UIimage时,文件的路径需要是全路径。

       NSString *earth = [[NSBundle mainBundle] pathForResource:@"Brad Cox" ofType:@"png"]; 编译之后,mainBundle的资源都是放到RootFolder下,所以,可以直接访问,不要指定内部路径。通常来说,这个 mainbundle 就是 当前的可执行app 的在根目录下的绝对路径。

       finder根目录开始的路径+app 的name+.app 后缀。而资源就直接访问,都在 app 的包里。比如;

    /Users/dashuai/Library/Application Support/iPhone Simulator/5.1/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/tomcat.app/drink.png

    2⃣ 从bundle中pathForResource获取数据,明明把数据添加到项目中了,但就是不对。

      pathForResource获取的是全路径文件,打印看就知道了。

         NSString *newDataName = [[NSBundle mainBundle] pathForResource:dataName ofType:format];  为空

       imageWithContentsOfFile:没有缓存(传入文件的全路径):

     

      [objc] view plaincopy
      // 获取文件全路径:  
      1. NSBundle *bundle = [NSBundle mainBundle];  
      2. NSString *path = [bundle pathForResource:filename ofType:nil]; // 传入文件名作为参数就可以加载全路径;  
      3.   NSString *path = [bundle pathForResource:@"imageDate.plist" ofType:nil]; 此代码等同上句,左边放文件名,右边放扩展名或者将plist写在后面  
      4.   
      5. UIImage *image = [UIImage imageWithContentsOfFile:path]; // ~File 传文件全路径,无缓存;
      6.  

           1、打断点调试,发现第二种方法获取的path值为空,说明没有获取到路径。

          2、将图片文件夹分别拖入Assets.xcassets和Supporting Files 文件都不写。
          3、点击项目文件——Build phrase ——Copy Bundle Resources——直接添加图片文件夹也不可以。
          4、 最后翻看视频发现是因为我托图片文件夹的时候勾选的选项不正确,原来往Supportint Files 直接拖的如图1所示,并且默认就是图一所示情况;后来重新勾选后如图二所示,运行正常,但是存在原来UImageview 的背景图片不能正常显示问题,这时需要将背景图片重新添加后缀:~.jpg才可以。(因为图片是jpg文件格式,可能出现本博客所描述问题也跟Xcode 不能直接显示jpg图片有关系,有待考察)。
      

          

       http://img.blog.csdn.net/20151102115012644?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

           

  • 相关阅读:
    C#基础第五天
    基础学习14天 MD5加密
    C#基础第二天
    C#基础学习第一天
    Privacy Policy of ColorfulBroswer
    asp.net mvc 上传图片 摘自mvc 高级编程第311页
    多彩浏览器win10版 隐私声明
    uwp获取版本信息win10 VersionInfo
    uwp ,win10 post json
    windows phone 8.0 app 移植到windows10 app 页面类
  • 原文地址:https://www.cnblogs.com/it38/p/4990202.html
Copyright © 2011-2022 走看看