zoukankan      html  css  js  c++  java
  • id 和 instancetype 方法的区别

    首先明确 id 和 instancetype 都是万能指针,都能指向一个对象:(instancetype == id == 万能指针 == 指向一个对象)

    主要区别亮点:

    1. id 在编译时候不能判断对象的真是类型,但是instancetype 编译的时候可以判断对象真是类型,这样的话,编写代码时候,如果类型指错,instancetype可以告警。我们应该尽量把告警暴露在编译的时候。

    2.另外  instancetype 只能用来做返回值,不能和id一样定义变量。 

    // id在编译的时候不能判断对象的真实类型
    
    // instancetype在编译的时候可以判断对象的真实类型
    
    // id和instancetype除了一个在编译时不知道真实类型, 一个在编译时知道真实类型以外, 还有一个区别
    
    // id可以用来定义变量, 可以作为返回值, 可以作为形参
    
    // instancetype只能用于作为返回值
    
     
    
    // 注意: 以后但凡自定义构造方法, 返回值尽量使用instancetype, 不要使用id
    
    - (instancetype)init
    
    //- (id)init
    
    {
    
        if (self = [super init]) {
    
            _age = 5;
    
        }
    
        return self;
    
    }
  • 相关阅读:
    C#进阶-Linq-join
    C#进阶-Linq
    C#-string-stringBuilder
    C#-继承-多态
    Spring基础
    JQuery基本操作
    Oracle数据库基础操作
    AJAX前端后端
    AJAX异步提交(前端)
    js基本操作
  • 原文地址:https://www.cnblogs.com/XXxiaotaiyang/p/5025353.html
Copyright © 2011-2022 走看看