加载plist数据和懒加载

本文介绍如何在iOS应用中使用懒加载技术加载plist数据,包括如何通过NSBundle获取资源包内的文件路径,并使用文件路径读取plist内容,实现资源高效管理和加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//加载plist数据
    
    // 一个NSBundle对象对应一个资源包(图片、音频、视频、plis等文件)
    // NSBundle的作用:用来访问与之对应的资源包内部的文件,可以用来获得文件的全路径
    // 项目中添加的资源都会被添加到主资源包中
    // [NSBundle mainBundle]关联的就是项目的主资源包
    NSBundle *bundle = [NSBundle mainBundle];
    
    // 利用mainBundle获得plist文件在主资源包中的全路径
    NSString *file = [bundle pathForResource:@"shops" ofType:@"plist"];
//    NSString *file = [bundle pathForResource:@"shops.plist" ofType:nil];
    
    // 凡是参数名为File,传递的都是文件的全路径
    self.shops = [NSArray arrayWithContentsOfFile:file];




懒加载

// 加载plist数据(比较大)

// 懒加载:用到时再去加载,而且也只加载一次


-(NSArray *)shops
{
    
    if (_shops == nil) {
        // 加载plist数据
        
        // 一个NSBundle对象对应一个资源包(图片、音频、视频、plis等文件)
        // NSBundle的作用:用来访问与之对应的资源包内部的文件,可以用来获得文件的全路径
        // 项目中添加的资源都会被添加到主资源包中
        // [NSBundle mainBundle]关联的就是项目的主资源包
        NSBundle *bundle = [NSBundle mainBundle];
        
        // 利用mainBundle获得plist文件在主资源包中的全路径
        NSString *file = [bundle pathForResource:@"shops" ofType:@"plist"];
        //    NSString *file = [bundle pathForResource:@"shops.plist" ofType:nil];
        
        // 凡是参数名为File,传递的都是文件的全路径
        _shops = [NSArray arrayWithContentsOfFile:file];
        
        NSLog(@"dasdsa");
        
    }

    
    return _shops;
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值