Objective-C iOS纯代码布局 一积代码可以放这里!

前言:

新近形容的稿子都是创业类,好吧,今天精彩写写技术类的文章!

可是分享的非是IOS相关的稿子,毕竟这几乎天在速成IOS,看之是objective-c,由于速成的速,好累!

好以今为主已经入了碰路了,这才看的懂新人的代码,才能够超前感受代码危机。

对于IOS的高效率口诀,回头再享受,今天预分享一个概括的泛封装!

1:先看看问题

证:通常对界面布局,有编制代码、Xib、Storyboard三栽方法,而自我看齐新人写的,是经代码布局之。

见状的代码是这般的:

A:编写UI的代码都分手及新的类(.h
.m文件)去,但还是还是留给了累累代码在ViewController中。

希冀1:(在页加载完后,调用了SetView方法,然后SetView方法里平等积和UI相关的代码)

图片 1

图2:

图片 2

2:想想怎么优化

靶:让各个一个Controller都生一个遥相呼应之View的UI类,而Controller类里永不涉及UI创建的问题,尽量0入侵。

折腾过程:

立即几龙效法了下ObjectC的扩张类Category,觉的就东东微搞头。(和C#里之扩大类非常像,但不同的凡,object-C里扩展方法好于基类里调到,这生神奇)

惋惜扩展类不支持性,没法拿部分变量放到扩展类的性里,逼的设入侵Controller。

于是自己而考虑,折衷一下,用泛型定义一个共性的UIView,以逃避入侵。

图片 3

结果要败诉了,objective-C的泛型不支持子类定义类型,唉~~~~

发现在C#自在搞定的从,在object-c里不易于呀!!!

3:二赖服的法子:

1:定义Controller的基类,定义一个智,并当页面加载时调用。

图片 4

2:假设来LoginController,新建一个LoginView,继承自UIView

图片 5

 

3:一些UI相关的定义变量就形容以此了(.h文件)

图片 6

 

4:在LoginView添加一个扩大类(不用新建类文件了,直接增加代码就哼了):

 这里扩展了一个法给initUI(等于重写基类的方式)

图片 7

 5:这里就是绝无仅有二软服的地方,需要入侵Controller.h,定义一个UI属性。

(之前是怀念经过把这特性定义及基类去,可惜泛型不支持子类指定项目)

图片 8

6:接下就写你的UI相关的代码了。

图片 9

总结:

1:手工写的代码的可视化,在调节阶段才见到,这是颇悲催的结果。

2:个人无顶建议手工布局代码的,开发效率呢是独问题(当然你得经包装一些UI代码进一步升级下效率)。

3:不晓得XCode没有折叠.h文件到.m文件下之插件呢?文件太多,切来切去最好伤眼了。