您的位置:首页 > 其它

initWith与 initWithFrame初始化区别

2016-01-29 18:50 148 查看
init代表的是初始化方法。
initWithframe代表的是带参的初始化方法。
例如:
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这个方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: