iOS项目开发中的零碎经验总结
- 导航栏的栈顶控制器为
UIViewCOntroller
时,控制器view的y值要加上64
个点
像素 - SDWebImage框架支持
gif
图片播放- 首先,得知道iPhone
默认是不支持
gif播放的, - 此框架内部用到
ImageIO
框架,实现原理
就是将一个大的gif图片解析成多张
图片,然后赋值给UIImageView
的animationImages
属性来实现gif图片的播放
- 首先,得知道iPhone
- 保留n位小数的写法:
%.nf
- 在NSString转义百分号:
%%
NSLog(@"已下载:%.2f%%", (小数值) * 100);
- frame赋值简写
(CGRect){CGPointZero,image.size}
- iOS中的
生成随机数
方法- 获取一个随机
整数
范围在:[0,100)
包括0,不包括100// 方法1 int x = arc4random() % 100; // 方法2 int x = arc4random_uniform(100);
- 获取一个随机
整数
范围在:[500,1000]
,包括500,包括1000// 方法1 int y = (arc4random() % 501) + 500; // 方法2 int y = arc4random_uniform(500 + 1) + 500;
- 封装获取一个随机
整数
,范围在[from,to]
,包括from,包括to// 范围在[from,to] -(int)getRandomNumber:(int)from to:(int)to { return arc4random_uniform(to - from + 1) + from; // return (arc4random() % (to - from + 1)) + from; }
- 获取一个随机
- Objective-C对象的
属性不能直接取地址
- 错误演示
NSLog(@"[UIApplication sharedApplication].keyWindow-->%p", &[UIApplication sharedApplication].keyWindow);
- 正确做法
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; NSLog(@"[UIApplication sharedApplication].keyWindow-->%p", &keyWindow);
- 原因分析:因为属性调用的本质是调用生成的get方法,而不是变量本身,所有这里会报错
- 错误演示