解释object c 中经常出现的initWith... 和....With...

来源:互联网 发布:js中sleep 编辑:程序博客网 时间:2024/05/22 00:30
init代表的是初始化方法。initWith。。。代表的是带参的初始化方法。例如:UIView *view = [[UIView alloc] init];UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];这两个有什么区别呢??明显,下面那个initWithFrame是带一个名为Frame参数的。需要我们传参给初始化方法给他。那么具体的区别就在于你想不想再初始化的时候就赋值frame值。如果你不想再初始化的时候赋值frame,那就用第一个初始化方法,是最纯洁的初始化方法,什么参数都不带。你想在后面赋值frame可以这样:UIView *view = [[UIView alloc] init];view.frame = CGRectMake(0,0,100,100);上面的两句话和UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];是一样的。注意:很重要的一点:所有类都继承自NSObject,而NSObject里面有init。所以所有类都可以拥有init这个方法。所以说init是最纯洁的初始化方法,起码比文章越轨纯洁多了。。。。
0 0