首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
instancetype专题
id 和instancetype之间的区别
id 可以做参数,不可以检测返回值,不可以使用点语法 instancetype 不可以做参数,可以检测返回值,可以用点语法
阅读更多...
UI之instancetype和id的区别、Custom
相同点:都是方法的返回值,可以代表任意类型 不同点: 1.instancetype可以返回和方法所在类相同类型的对象(instancetype会告诉编译器当前类的类型(名字)); id只是返回未知类型的对象。 2.instancetype只能作为方法的返回值,id还可以作为参数(for id obj inXXX) 3.對于init方法来说,id和instancetype其实没有区
阅读更多...
instancetype与id的区别
一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢?二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc
阅读更多...
instancetype、id
instancetype 使用instancetype关键字作为方法的返回值代表返回当前类或者当前类的子类的实例.相应的方法有alloc, init以及便利构造方法 在恰当的地方使用instancetype取代id可以提高类型安全。 如:期望test返回类型是本方法所在的类的类型,然后去实现方法。当实现与期望不一致时,就会有警告,提示你实现有误。 又或者, 让
阅读更多...
【IOS学习】Objective-C中的instancetype和id区别
一、什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢? 二、关联返回类型(related result types) 根据Cocoa的命名规则,满足下述规则的方法: 1、类方法中,
阅读更多...
OC id、NSObject 和 instancetype 的异同点
id 和 NSObject 的相同点 都是万能指针,都可以指向任意的 OC 对象。 id 和 NSObject 的不同点 通过对象调用方法时,NSObject 会做编译检查,而 id 不会做编译检查。id 只能调用对象的方法,不能使用点语法,使用点语法会编译报错。 注意: id 是 typedef 自定义类型,定义的时候已经 加 * 了,因此声明 id 指针的时候不需要再加 * 了。 声
阅读更多...