23-ocinstancetype和id区别

1.id在编译的时候不能判断对象的真实类型

instancetype在编译的时候可以判断对象的真实类型

2.如果init方法的返回值是instancetype,那么将返回值赋值给一个其它的对象会报一个警告

如果是在以前, init的返回值是id,那么将init返回的对象地址赋值给其它对象是不会报错的

3.id可以用来定义变量, 可以作为返回值, 可以作为形参

instancetype只能用于作为返回值:

instancetype 应用场景

但凡自定义构造方法, 返回值尽量使用instancetype, 不要使用id

时间: 2024-10-25 17:59:08

23-ocinstancetype和id区别的相关文章

Android中@id与@+id区别

近日升级adt21+后,在输出apk时碰到编译layout异常,看了下是因为有人在layout引用一个不存在的resID时用了 @+id/xxx,而不是@id/xxx,导致debug编译器没显示错误,而在打包时的编译器出现错误,adt21-则没有此问题. 附上配图说明: Android中@id与@+id区别 : Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等

Android @id和@+id区别

Android中的组件需要用一个int类型的id属性值来表示.id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等.如果在@后面使用"+",表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量.变量名就是"/"后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数.如果xyz在R.java中已经存在同名的变量,就不再生成新

CSS中的class与id区别及用法

转自http://www.divcss5.com/rumen/r3.shtml及http://www.jb51.net/css/35927.html 我们平常在用DIV CSS制作Xhtml网页页面时,常会用到class 和id来选择调用CSS样式属性.对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用id,以及它们用法与限制是怎么样的.接下来我们就来详细了解CLASS与ID基本属性及用法. Class 在程序中称“类”,同时在CSS中也书面语也叫

Objective-C中的instancetype和id区别

目录(?)[-] 有一个相同两个不同相同 Written by Mattt Thompson on Dec 10th 2012 一什么是instancetype 二关联返回类型related result types 三instancetype作用 作用 好处 四instancetype和id的异同 相同点 不同点 有一个相同两个不同.相同 Written by Mattt Thompson on Dec 10th, 2012 Objective-C is a rapidly evolving

(转)Objective-C中的instancetype和id区别

有一个相同两个不同.相同 Written by Mattt Thompson on Dec 10th, 2012 Objective-C is a rapidly evolving language, in a way that you just don't see in established programming languages. ARC, object literals, subscripting, blocks: in the span of just three years, s

class id 区别

[1].id是唯一的,一个元素只能有一个,不能重复class可以重复 <div> <img src="" width="100%"/> <div class="duihao" id="duihao11"> <img id="duihao1" name='A' src="" /> </div> <div class=&quo

HTML中id、name、class 区别

转载地址:http://www.2cto.com/kf/201210/161751.html HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio而id必须是全文档中唯一的 id的用途1) id是HTML元素的Identity,主要是在客户端脚本里用.2) label与form控件的关联,如<label for="MyInput">My Input</label><input id="MyInpu

id、name、class的区别

HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio 而id必须是全文档中唯一的 1)id的用途  (1)  id是HTML元素的Identity,主要是在客户端脚本里用. (2) label与form控件的关联,如 <label for="MyInput">My Input</label>            <input id="MyInput" type="text&q

HTML中id name class 的区别和用法

HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio 而id必须是全文档中唯一的 id的用途 1) id是HTML元素的Identity,主要是在客户端脚本里用. 2) label与form控件的关联,如 <label for="MyInput">My Input</label>            <input id="MyInput" type="text"&g