您的位置:首页 > 移动开发 > IOS开发

iOS中使用.plist文件延迟读取的方法

2015-06-24 16:41 417 查看
以下是我个人的理解,不对的地方请谅解。

先说一下延迟加载:

我们在ios中读取plist文件时,在程序load时就要把文件中的所有的信息加载到一个可变的数组中。这样就会消耗大量的时间来读取,并且可能占用内存过大。为了解决这个问题,就要用延迟加载来解决。

延迟加载:就是在程序用到的时候调用数据。



举例开始:

1:下面是一个plist文件




2:在处理的时候我们首先在使用者的文件的@property中声明一个数组



@property(nonatomic,strong)NSArray *apps;

3:在当前的.m的文件中实现它的构造方法

-(NSArray *)apps

//判断apps里是否为空 ,如过为空则加载
if (_apps ==nil) {
//用mainbundle 来读取plist文件
NSString *path = [[NSBundlemainBundle]pathForResource:@"app.plist"ofType:nil];
//用arrayWithContentsOfFile读取形成数组
NSArray *dictArray = [NSArrayarrayWithContentsOfFile:path];
//声明一个可变的数组
NSMutableArray *appView = [NSMutableArrayarray];
//遍历把对象加载到appView中
for (NSDictionary *dictin dictArray) {
MjApp *app = [MjAppAppWithDict:dict];
[appView addObject:app];
}
//赋值 用于返回
_apps = appView;

}

return _apps;

以上函数可以用来延迟加载数据。

4:调用
在load中调用时
用 self.apps
获取数组的长度
self.apps.count
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: