我想要的iOS平台开发环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/madongchunqiu/article/details/48915067

注:这里所说的开发环境包括IDE、SDK和运行环境等等


1. 我讨厌crash,因此诸如divided by 0, index out of bounds, not responding to selector等错误,拜托能不能不要crash呢。。。

以前看过一些争论,认为这些东西不同于obj-c的send message to nil,就应该设计为crash。我则有不同的看法。个人觉得对于相当一部分展示和交互类程序而言,crash是最不好的用户体验。我觉得完全可以让编译器提供一两个编译选项,使得这些错误就和Assert一样,仅发生在debug模式下,而在release模式下,简单的返回0或者nil就很好。

解决方案1:index out of bounds的错误,可用method swizzling的hack解决。不过总归不是正道。


2. view(tableviewcell)获得自己的lifecycle回调。现在仅有viewcontroller有viewDidLoad、viewWillAppear、viewDidAppear等lifecycle的回调。以前view和tableviewcell有一个layoutSubviews的回调,还可以用用。但是iOS9上,这个函数居然在deqeueReuseableCell时(真正绘制view之前)就被调用了,真是让人无所适从。

解决方案1:uitableviewcell现在可以有cellWillAppear等lifecycle回调了,这里有swift版本实现,文章(http://www.jianshu.com/p/64c76a587450)、代码(https://github.com/madongchunqiu/UITableViewCell-Lifecycle-Swift)


3. xcode自动补全时,仅提示当前类的interface(我指public methods, properties, etc),其父类、祖父类的interface,则放在二级子菜单中,更好的展示调用类的interface以及类之间的层级关系。

解决方案1:可以用plugin实现,这个超级赞:https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin


4. 以后继续补


上面的几条,如果有解决方法,还请赐教。



猜你喜欢

转载自blog.csdn.net/madongchunqiu/article/details/48915067