Runtime的强大相信大家都有所耳闻,最经典的就是利用Runtime来进行模型和JSON的解析之类,但它能做的事情还有很多,很多平常的小代码也能利用Runtime进行很好的封装.而今天要分享的,就是关于Runtime封装tabbar的简单实用的例子.
关于class
每个对象都有一个对应的class属性,而我们之所以能创建不同的对象,就是因为他们的class不同.class不一定用来创建对象,但对象一定离不开class
Runtime中有这样一个函数NSClassFromString(NSString *aClassName)
可以根据传入的类名返回一个对应的class,而拿到class之后,我们可以则直接通过[class new]
或者[[class alloc] init]
来创建相应的对象.通过这个属性,我们可以把他封装到tabor的创建中,创建时只需要传入类名即可.
短短十多行代码即可完成,是不是比每个类单独创建一遍要简单很多?