iOS开发控件基础

一、使用plist文件
使用plist文件的目的:将数据和代码分离。

//加载方法
NSString *path = [[NSBundle mainBundle] pathForResource:@"ImageData" ofType:@"plist"];
NSArray *imageList = [NSArray arrayWithContentOfFile:path];

二、字典转模型
1、字典转模型的优点:
1> 降低代码的耦合度
2> 所有字典转模型部分的代码统一集中在一处处理,降低代码出错的几率
3> 在程序中直接使用模型的属性操作,提高编码效率

模型应提供一个可以传入字典参数的构造方法:

- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)xxxWithDict:(NSDictionary *)dict;

三、instancetype & id
1、 instancetype在类型表示上,跟id一样,可以表示任何对象类型
2、 instancetype只能用在返回值类型上,不能像id一样用在参数类型上
3、 instancetype比id多一个好处:编译器会检测instancetype的真实类型

四、Images.xcassets中的素材
1、只支持png格式的图片
2、图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载
3、在编译时,Images.xcassets中的所有文件会被打包为Assets.car文件

五、UIImageView序列帧动画

@property (nonatomic, weak) UIImageVIew *tom
//1.是否正在动画
[self.tom isAnimating];
//2.设置图片的数组
[self.tom setAnimationImages:arrayM];
//3.设置动画时间
[self.tom setAnimationDuration:arrayM.count * 0.075];
//4.设置动画循环次数,默认为0,无限循环
[self.tom setAnimationRepeatCount:1];
//5.开始动画
[self.tom startAnimating];
//6.动画播放完成后,清空动画数组
[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];//animationImages 默认是nil

六、加载图片的两种方式
1、有缓存(图片占用的内存会一直停留在程序中)具体释放时间由系统决定,适用于图片小,常用的图像处理

UIImage *image = [UIImage imageNamed:imageName];

2、无缓存(图片所占用的内存会在一些特定操作后被清除)

NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];
UIImage *image = [UIImage imageWithContentsOfFile:path];

七、文件管理
[NSFileManager defaultManager]

//判断文件是否存在
- (BOOL) fileExistsAtPath:(NSString *)path;
//将文件从源路径复制到目标路径
- (BOOL) copyItemAtPath:(NSString *)srcPath toPath:(NSString *)desPath error:(NSError **)error;
//删除文件
- (BOOL)removeItemAtPath:(NSString *)path;

八、plist文件
1、直接将数据写在代码里不是一种合理的做法,如果数据经常改,就要经常翻开对应的代码进行修改,造成代码的扩展性低。
2、因此,可以考虑将经常变的数据放在文件中进行存储,程序启动后从文件中读取最新的数据。如果需要改变数据,直接修改数据文件即可,不用修改代码
3、解析plist文件

- (NSArray *)images {
    if (_images == nil) { 
        //获得plist全路径
        NSBundle *bundle = [NSBundle mainBundle];
        NSString *path = [[bundle pathForResource:@"ImageData" ofType:@"plist"];
        //加载plist文件
        _images = [NSArray arrayWithContentOfFile:path];
    }
    return _images;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值