NSBundle和懒加载

NSBundle

  • 一个NSBundle对象对应一个资源包(图片、音频、视频、plist等文件)
  • NSBundle的作用:用来访问与之对应的资源包中的文件,可以用来获得文件的全路径
  • 项目中添加的资源都会被添加到主资源包中
  • [NSBundle mainBundle]关联的就是项目的主资源包
NSString *file = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"extension name"];
  • 项目中的黄色文件夹是虚拟的,不是真是的,打包软件的时候统一放在根目录下面。
  • 但是如果是蓝色的文件夹,那么打包的时候是真的存在的,那么使用NSBundle的时候需要加入路径
  • 自定义的plist文件的文件名不能叫info.plist

有文件不能使用的时候

  • 项目中的某个.m 或者.h文件不能使用
    • 检查:Build Phases -> Complie Sources
  • 项目中的某个资源文件(比如plist、音频等)无法使用
    • 检查:Build Phases -> Copy Bundle Resources

懒加载

程序中可能有很多数据,不需要在viewDidLoad的时候就去加载,只需要在用到的时候加载就行,这个时候就需要用到懒加载的方法。

用到时才去加载,而且只加载一次

@property(nonatomic, strong) NSArray *plistData;
- (NSArray *)plistData
{
    if(_plistData == nil){
    }
    return _plistData;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,034评论 25 709
  • 框架捆绑 框架是封装动态共享库和支持该库所需的资源文件的分层目录。框架比典型的动态共享库提供了一些优势,因为它们为...
    nicedayCoco阅读 5,619评论 0 2
  • 介绍 捆绑是macOS和iOS中用于封装代码和资源的基础技术。软件包通过为所需资源提供已知位置来简化开发人员体验,...
    nicedayCoco阅读 5,063评论 0 1
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 14,162评论 3 42
  • 八月的第十四天:写给一岁的你 (一) 今天有风,树上的叶子摇摇晃晃,抱你站在楼口等姥姥,你倾着身子,伸着小手要去抓...
    cc蜗牛cc阅读 7,313评论 0 8

友情链接更多精彩内容