A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 不想飞不到 于 2014-11-4 11:50 编辑

有个疑惑,最新的xcode6.1中init的返回值类型是instancetype,而视频中是id类型,但是在视频中写自定义构造方法时采用的返回值是id,那么问题来了
到底选哪个呢?刚刚百度了这两者的区别,说是instancetype类型只能作为返回值类型,但是却可以动态识别你要返回的原对象相关的类型,而id类型只能返回任意类型的对象,这对后面程序的编译是不利的,也就说之前用id做返回类型的方法,现在优先采用instancetype类型更好,所以自定义构造方法返回值类型用instancetype是不是更好一些?




评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

27 个回复

倒序浏览

回帖奖励 +1

这个不太清楚,好像是都可以吧,我用的时候没有什么区别,我也注意到这个了,,,,
可能是我接触到得情况太少吧
回复 使用道具 举报

回帖奖励 +1

都可以的  亲
回复 使用道具 举报

回帖奖励 +1

小弟,虽然还没有学习这一块,感觉很高深的样子,我也想听听别人的解释。
回复 使用道具 举报

回帖奖励 +1

论用的话,其实都可以。但是我学的时候,老师建议是用instancetype,一般用在模型里面,或者类里面。返回需要的类型。
回复 使用道具 举报

回帖奖励 +1

还没学的那么深入
回复 使用道具 举报
atlas 中级黑马 2014-11-4 14:42:06
7#

回帖奖励 +1

大家真是厉害啊。。。
回复 使用道具 举报

回帖奖励 +1

还没到那里,进来学习一下
回复 使用道具 举报

回帖奖励 +1

你这个主要的还是版本问题,版本更新之后东西分的更细了。。。
回复 使用道具 举报

回帖奖励 +1

应该都可以吧……
回复 使用道具 举报

回帖奖励 +1

坐等回答
回复 使用道具 举报

回帖奖励 +1

我也觉得都可以的
回复 使用道具 举报
atlas 中级黑马 2014-11-4 18:03:12
13#
楼上好卡哇伊啊
回复 使用道具 举报

回帖奖励 +1

学的好仔细呀!学习学习
回复 使用道具 举报

回帖奖励 +1

应该都可以的,经验比较少,不过我试过声明用id,实现用instancetype都不会报错
回复 使用道具 举报
http://blog.csdn.net/kuizhang1/article/details/18048829
可以去看下,如果是关联返回值类型都一样;如果是非关联返回值类型就instancetype好,能返回对象本身而id只能返回id类型。
instancetype不能作为行参的类型只能作返回值
回复 使用道具 举报

回帖奖励 +1

不明觉厉
回复 使用道具 举报

回帖奖励 +1

来学习了
回复 使用道具 举报

回帖奖励 +1

学习一下,共同进步
回复 使用道具 举报

回帖奖励 +1

进来看看大神的世界
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马