1、Collectionview
2、图片上传排列
3、键盘监听
4、cell 重用机制 (代码顺序)
5、调用父类方法 先 【super ****】
6、viewcontroller的点击 取消键盘
7、活用Xcode方法:例如 table键 打方法前先打出类型
8、代码冗余 条件判断里的代码只写会变的值就好
9、删、改类 时 ,细心些
- alloc init 不能写在 setmodel 中 因为init 一直在执行 drowrect 方法
- 代码顺序 有时现在用到的模型,都还没有数据
- scrollview 的size 可以不大于frame 也能弹跳 alwaysbouncevertical属性
- for循环里面有alloc init 的话,放到释放池里面。
- 与网络请求无关的不要放在网络请求里。
- 记住自己以前写过的代码。
- 要把自己当成编译器,就是说,不用运行就知道运行起来是什么结果。
- 编译器报错不会那么温柔,直接警告或是崩
- 要注意一些对象,可能它被释放后,又有条用它,这时会蹦的
- 不是需要计算、多次使用、方便阅读的没必要 创建中间值。
- 可变字典和数组 不能alloc init 要new
- 代码的执行顺序,block异步回调,有时间延迟
- 下级返回上级刷新列表有三种办法:保存按钮代理,强指针,listChangeWithModel 、listCreatWithModel双代理三种,但是不能用 viewwillappear ,这四个方法基本不用。极极极极及少用。 详见宜修哥 地址模块
- 模型中的数组,在实例化时不需要再新建一个中间数组去赋值;
- 当数组中只有一个模型时,就不需要放到数据数组里了;
- 状态条设置成不透明可解决 scrollview 和 navigationbar 的坐标冲突;translucent = no;其实不用,只要self。view 加载的第一个视图是scrollview ,就是自动auto。。。= YES,否则则跳过这个属性;
- 做功能模块,整体把握还是不到位,是经验是熟练
- 字符串不占内存;
- 对于cell的高度,最好写在model里,(tableview的代理方法执行顺序)其次写在heightforow方法中(若是行数不多的话,因为这样代码易懂)。
- 网络请求中self.方法时 都换成 ——block(当 self调用方法时,self.tableVIew 则不用)
- uiimageView 上面的视图没法交互 打开userInterface
- morepicture 传参数时明明是数组,为什么我们要给成字典?[php不认识数组]
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
- @class #import
- 自定义的view 加手势时,别忘了打开user interface (self.view 除外)
- 通知能少就少
- 如有if 考虑else,在逻辑方面以自己为用户的角度来思考问题,而不是开发者;
- md5 哈希算法
- app从0到1 客户需要提供的资料 需要申请的账号 需要的证书 流程顺序
- 别碰到电话就限制11位,也有可能是固定电话;
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 方法和访问器 一样么 (前者好复杂)
- 懒加载-tableview方法-系统代理方法-自己的方法-自己的代理方法-网络请求的方法;
- 逻辑不通的话,不妨逻辑清零,从更大的方面来考虑;
- SDWebImage 有自己的缓存机制,同一个url就算返回的图片不一样,但是加载的图还是原来的。 [[SDImageCache sharedImageCache] clearDisk];//清楚缓存
44.scrollView 实例化是写坐标和 实例化后定义坐标是不一样的; 【可斜滑动】
45.最快速的提升流畅度的方法?
用instrument找出所有不需要透明但是透明的view,layer.全部弄成不透明的.
46.判断一个字符串是否包含另一个 NSRange range = [str rangeOfString:@"se"];
if (range.location != NSNotFound) {
NSLog(@"Found");
}
47.密码验证正则 6-18位 数字或者字母或者符号
NSRange range = [str rangeOfString:@"[0-9a-zA-Z]{6,18}" options:NSRegularExpressionSearch];
【比如@"[0-9a-zA-Z!@#$%]{6,18}" 】
48.空间天气 导航左侧按钮点击事件; 二级界面右滑手势;
1.思路清晰要,一个第三方库,在他的.h文件中肯定有必要的方法可供使用者调用;
2.一个类中若找不到你想要的方法或代理,看他的继承,父类;
3.问题找不到,绕个弯弯儿;
49.180天不能注册同名 是否访问第三方
50.只有在get/set方法中用若引用[_model],否则强引用[self.model];
51.command + i 选择水管标志的, 检查内存泄漏
command shift + i 检查死循环;
52.一个view .h -(instancetype)initStickContentView:(HFStickerContentView*)contentView;
.m
-(instancetype)initStickContentView:(HFStickerContentView *)contentView {
self = [super init];
if (self) {
}
return self;
}
50.有时手机连上xcode会蹦,但不连xcode是没问题的;
网友评论