1、别一上来就开始写代码,搭好框架可以提高效率一百倍
2、设置一个基础控制器,很有必要,写到后面你会发现许多东西都不用写
3、常懒加载,可以剩很多事
4、别涂省事,Xib并没有想象中的那么好,写代码才是最强大的
5、搭建pod管理你的其他资源
6、图片也应该分好包
7、pch最好一开始的时候就有,但也别什么都扔在pch里面
8、封装好你的控件,要是有要用到这个控件的时候,就不用大段大段的copy你的代码了,这样也可以腾空你的控制器,便于阅读代码
9、刚开始的时候容易出现一个问题,点击事件的重复提交问题,这个用可以用HUD来控制
10、网络请求我自己喜欢将各个主页的分割开来,当数据下来的时候就可以得到一个处理好的数据返回给控制器
11、关于分页的问题我很想说,并不是我通过当前页码和请求的条数来决定,而是需要在后台排好序之后的前面的20条,再根据这批数据的最后一个的id返回给客户端接着id之后的20条数据
12、注释很重要,现在去看刚开始写的代码直接不想看了
13、能够共用一个UITableView的时候就别去创建两个了
14、- (void)viewWillAppear:(BOOL)animated;方法里面最好不要做太多的事
15、命名,命名,命名一定一定要规范,虽然英语差但不能是随意命名的借口(个人习惯:类名,文件名首字母大写,变量名首字母小写,使用英文命名),尽量使你的命名有意义
16、delegate与block一般用于两个对象1对1之间的通信交互、delegate需要定义协议方法,代理对象需要实现协议方法,并且需要建立代理关系才可以实现通信。block更加简洁,不需要定义繁琐的协议方法,需要注意的是内存泄漏,但是如果通信时间比较多的话,建议使用delgate。Notfication主要用于1对多的通信,而且通信对象之间不需要建立关系,但是使用通知,代码的可读性差。
17、做了最复杂的一个详情界面,稀里糊涂的写了一千多行代码,现在来看那写代码简直不想看,原因有a.没有封装好控件b.对整体的思维不强c.没有节省内存,没能很好的解决控件重用。
18、头像的跳转个人首页是统一处理的,思路是通过头像控件找到其控制器,再有其控制器进行跳转。
//根据view找到其所在的控制器
for (UIView* next = [view superview]; next; next = next.superview) {
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]] && ![nextResponder isKindOfClass:[UITabBarController class]] && ![nextResponder isKindOfClass:[UINavigationController class]]) {
//找到控制器 跳转
UIViewController *vc = (UIViewController *)nextResponder;
OthersViewController *oVC = [[OthersViewController alloc] init];
oVC.userId = userId;
[vc.navigationController pushViewController:oVC animated:YES];
break;
}
}
19、在网上多看看别人怎么做到,刚开始学着做,慢慢的你就会自己写了,可以有自己很好的思路来完成。将你所在的划分成一小个一小个的点,工作不仅完成得快,而且质量还很好。
20、总之,你所完成的东西是你现在所能够做到最好的,做来都能让你自己很满意了就可以进入下一个问题了,反正我是将它看着自己的作品来完成的,这是艺术
网友评论