自定义类方法的构造的问题

自定义类方法的构造的问题

视频里面老师原本的构造方法是通过在 直接将值赋给了self.age的,最后导致Person *person1 = [ [Person alloc] init];达到属性的初始化

为啥自定的构造方法不直接赋值,而是先将name形参传给self.age,最后在main函数里面实例化的语句 Person *person1 = [ [Person alloc] initWithName:@"jones" age:19]中给属性赋初始的值,怎么感觉多此一举了呢?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Tender10 2017-10-15 13:16:36

那个是重新init方法,在对象一初始化的时候就完成某个属性的赋值,而Person *person1 = [ [Person alloc] initWithName:@"jones" age:19]这种形式的是自定义的构造方法,是自己写的一个初始化的方法。

  • 提问者 _小怪 #1
    两者效果是都是用来给属性初始化的吧?
    2017-10-15 20:41:12
  • Tender10 回复 提问者 _小怪 #2
    是的,一个是重写自己的init初始化方法,让属性在完成初始化的时候就拥有某个值。自定义的构造方法,可以将属性都加入进去,这样初始化的时候只需要一个初始化语句即可。都是给属性初始化的。
    2017-10-16 09:40:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师