黑马程序员技术交流社区
标题:
init和initWith的区别?
[打印本页]
作者:
a631082744
时间:
2015-9-17 17:46
标题:
init和initWith的区别?
重写构造他俩分别是什么意思,用法上有什么不同?
作者:
liminghui
时间:
2015-9-17 19:09
我理解的是 初始化的意思
重写构造方法上 initWith是固定格式
Person *p = [[Person alloc] initWithNname:@''小白'' ]
不用重写构造方法上 init
Person *p = [Person new] 相当于 Person *p = [[Person alloc] init]
不知道对不对, 我也是小白一个。
作者:
wangganghua
时间:
2015-9-17 21:12
一个是构造函数,另一个是自定义函数。。
作者:
lixj1991
时间:
2015-9-17 22:00
init通常是系统默认方法,没有参数。
initwith通常是自定义方法,有参数。
作者:
ximdefangzh
时间:
2015-9-19 15:12
init是NSObject的构造方法,我们一般创建的类继承于他,可以直接重写init,也可以initWith一个或多个成员变量,这两个都是构造方法,只是一个有参,一个无参
作者:
陆露
时间:
2015-9-19 16:57
例如Person 中定义一个实例变量age
构造方法就是为了 初始化之后你age的值是你想要的值例如20
Person *p = [[Person alloc] init];
此时age = 20; 但是这个是写死的
如果你想在初始化的时候 定义age为19
Person *p = [[Person alloc] initWithAge:19];
此时age = 19
区别在于 一个可以创建对象的时候定义实例变量的值 一个是在写方法的时候定义写死的值
作者:
lumangmang
时间:
2015-9-19 19:30
一个是带参数的自定义的 一个是系统自动分配的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2