黑马程序员技术交流社区
标题:
oc自定义构造方法时的返回值类型,大家进来讨论一下
[打印本页]
作者:
不想飞不到
时间:
2014-11-4 11:36
标题:
oc自定义构造方法时的返回值类型,大家进来讨论一下
本帖最后由 不想飞不到 于 2014-11-4 11:50 编辑
有个疑惑,最新的xcode6.1中init的返回值类型是instancetype,而视频中是id类型,但是在视频中写自定义构造方法时采用的返回值是id,那么问题来了
到底选哪个呢?刚刚百度了这两者的区别,说是instancetype类型只能作为返回值类型,但是却可以动态识别你要返回的原对象相关的类型,而id类型只能返回任意类型的对象,这对后面程序的编译是不利的,也就说之前用id做返回类型的方法,现在优先采用instancetype类型更好,所以自定义构造方法返回值类型用instancetype是不是更好一些?
作者:
轮回
时间:
2014-11-4 12:31
这个不太清楚,好像是都可以吧,我用的时候没有什么区别,我也注意到这个了,,,,
可能是我接触到得情况太少吧
作者:
万雷
时间:
2014-11-4 12:51
都可以的 亲
作者:
易拉罐
时间:
2014-11-4 13:31
小弟,虽然还没有学习这一块,感觉很高深的样子,我也想听听别人的解释。
作者:
银河雨
时间:
2014-11-4 13:53
论用的话,其实都可以。但是我学的时候,老师建议是用instancetype,一般用在模型里面,或者类里面。返回需要的类型。
作者:
nan46825
时间:
2014-11-4 14:41
还没学的那么深入
作者:
atlas
时间:
2014-11-4 14:42
大家真是厉害啊。。。
作者:
VicenteZ
时间:
2014-11-4 14:53
还没到那里,进来学习一下
作者:
ch8898163
时间:
2014-11-4 14:59
你这个主要的还是版本问题,版本更新之后东西分的更细了。。。
作者:
雪寒
时间:
2014-11-4 15:32
应该都可以吧……
作者:
Thinkin
时间:
2014-11-4 16:24
坐等回答
作者:
staycolorful
时间:
2014-11-4 17:56
我也觉得都可以的
作者:
atlas
时间:
2014-11-4 18:03
楼上好卡哇伊啊
作者:
小龟快跑驾
时间:
2014-11-4 18:42
学的好仔细呀!学习学习
作者:
lanwen963
时间:
2014-11-4 19:24
应该都可以的,经验比较少,不过我试过声明用id,实现用instancetype都不会报错
作者:
lanwen963
时间:
2014-11-4 19:37
http://blog.csdn.net/kuizhang1/article/details/18048829
可以去看下,如果是关联返回值类型都一样;如果是非关联返回值类型就instancetype好,能返回对象本身而id只能返回id类型。
instancetype不能作为行参的类型只能作返回值
作者:
chenhuan_ccit
时间:
2014-11-4 20:04
不明觉厉
作者:
strivess
时间:
2014-11-4 21:44
来学习了
作者:
jinzhinan
时间:
2014-11-5 00:20
学习一下,共同进步
作者:
caozhichao
时间:
2014-11-5 08:02
进来看看大神的世界
作者:
doudou33420
时间:
2014-11-5 16:25
区别不太清楚,, 不过好像两者轮换使用都无大碍
作者:
shenweisong123
时间:
2014-11-7 18:41
进来看看大神的世界
作者:
wangxinwei
时间:
2014-11-7 19:01
进来看看大神的世界
作者:
杨鸿
时间:
2015-8-12 18:06
看来大家还是很厉害的
作者:
1312878967
时间:
2015-8-16 20:07
instancetype 看返回类型和接收类型是否一致
作者:
Makeit
时间:
2015-11-22 22:50
牛牛牛...
作者:
hanmaoChen
时间:
2016-8-11 20:44
id为万能指针,instancetype则是返回当前类的指针,返回值一般都是用instancetype的,更有针对性。虽然用id也是可以的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2