用纯代码开发的过程:
NSString *pictureNamePrefix =[ NSString stringWithFormat:@"drink_%02d.jpg",i];//不到两位的自动补零;不到两位的自动补零 %04d: 自动补齐四位,不足四位的,就在数字前面加0
1.创建了getter & setter方法 2. 生产一个变量名为带_ 的成员变量;直接读取成员变量不会经过getter&setter方法
采用懒加载来解决代码执行顺序的存在依赖
问题:采用懒加载,即通过重写getter方法实现,达到的效果是,在对象最需要的时候创建
重写getter方法:
self.属性 和_属性的区别:@property 生产一个变量名为带_ 的成员变量;直接读取成员变量不会经过getter&setter方法
压缩 较高,无损压缩,解压效率高,对CPU消耗少
1)压缩比 比较高,通常用于照片、网页 2)属于有损压缩(噪点noise) 3)解压时对cpu 消耗大--意味着,慢、费电
方式一:有缓存加载图片
+ (UIImage *)imageNamed:(NSString *)name 系统推荐使用的方法,但图像实例化之后的对象释放由系统负责。
// [arrayImage addObject: [UIImage imageNamed:pictureNamePrefix]];//参数为图片名称,png 格式的可以不加扩展名
方式二:无缓存方式加载图片(提示、如果放置于Assets.xcassets目录中的图片不能使用imageWithContentsOfFile:path进行加载;只能使用imageName进行加载,即内存由系统负责了)
//方式二:无缓存方式加载图片-指定扩展名
// NSArray *arrayPicture = [pictureNamePrefix componentsSeparatedByString:@"."];//从字符中分隔成2个元素的数组(图片名+扩展名)
// NSString *path = [[NSBundle mainBundle] pathForResource:arrayPicture[0] ofType: arrayPicture[1]];//获取图片的全路径
//方式二:无缓存方式加载图片-不指定扩展名
NSString *path = [[NSBundle mainBundle] pathForResource:pictureNamePrefix ofType:nil];
[arrayImage addObject:[ UIImage imageWithContentsOfFile:path]];
/Users/devzkn/Library/Developer/CoreSimulator/Devices/949ED3EA-A51B-4B5C-99B1-8069EB99E684/data/Containers/Bundle/Application/2B2B99A6-4FBC-4171-BE4F-ECA1B5AA2590/09-tomcat.app/angry_00.jpg
有/无缓存加载图片两种方式的内存分析
{ //开始动画
[self.imageList startAnimating];
//释放资源:动画结束之后清除帧动画数组
//nvokes a method of the receiver on the current thread using the default mode after a delay.
[self performSelector:@selector(cleanUpAnimationsArray) withObject:nil afterDelay:self.imageList.animationDuration];//@interface NSObject (NSDelayedPerforming)
}
- (void)cleanUpAnimationsArray{
NSLog(@"%s ",__func__);
//动画结束之后清除帧动画数组
[self.imageList setAnimationImages:nil];
}
清除内存的代码简化
[self.imageList performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.imageList.animationDuration];
点击该变量,出现下划虚线,然后command+control+E激活所有相同变量,然后进行修改。
先点亮想要搜索的词,然后command+E将该次放入剪贴板,然后command+G来向下遍历该词,shift+command+G向上遍历。
下一行:F6、进入方法:F7、跳出方法:F8 全速执行:command+control+Y clear debug console:command+K
iOS解决压缩之后图片模糊的问题
https://blog.csdn.net/z929118967/article/details/105414506