首页 > iOS UIView 创建是不是都会经过initWithFrame?

iOS UIView 创建是不是都会经过initWithFrame?

是不是不管在哪个版本?不管是通过代码创建还是xib界面创建?initWithCoder?

UIView的最原始第一次创建的方法还是initWithFrame?
initWithFrame就是UIView最基础的创建方法吗?

因为今天调用init的时候发现调用了initWithFrame.
而我需要的就是当前继承UIView的类在创建对象时,有一个初始化的方法,并且该初始化方法对于当前对象来说只能调用1次。不能多!!。并且是最早被调用的。

有什么真正的好方法呢?
1.dispatch_once_t??应该是对于单例来说的吧
2.自己设计一个标记位?自己加锁?
3.还是说目前只有这1个或者2个规定的基础的初始化方法呢?
4.NS_DESIGNATED_INITIALIZER 我看文档


UIView的init的方法里调用了initWithFrame,但是initWithFrame也是调用的UIResponder的init。
不明白初始化方法只能调用一次的场景是什么。

至于NS_DESIGNATED_INITIALIZER
是标记一个特定的初始化方法,子类的重载时需要调用这个方法。
同一个类的初始化方法需要调用这个特定的初始化方法。
一个有特定初始化方法的类需要实现父类的特定初始化方法。
摘自http://stackoverflow.com/questions/26185239/ios-designated-initializers-using-ns-designated-initializer

【热门文章】
【热门文章】