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文件下的插件呢?文件太多,切来切去太伤眼了。