zoukankan      html  css  js  c++  java
  • 自定义的init方法和重写的init方法

    自定义一个init方法 必须以initWith开头

    Person *p=[[Person alloc]init];

    Person *p1=[Person new];//(也调用了系统的init方法或者是重写的init方法   与上式等价

    #import "Person.h"
    
    @implementation Person
    //重写init(使对象一创建就自带初始值)
    //instancetype 任意的对象类型 id(旧版本)此处也可以写Person
    -(instancetype)init{
        //调用父类初始化自己
        self = [super init];
        //判断是否初始化成功 如果失败返回值为nil
        if (self) {
            //可以做额外的事情
            self.name=@"张三";
            self.age=17;
        }
        
        return self;
    }
    
    //自定义init (使在创建对象时就可以赋值 接收来自外部的数据 例如:界面的转换)
    -(instancetype)initWithName:(NSString *)name andage:(int)aAge{
        self = [super init];
        if (self) {
            self.name=name;
            self.age = aAge;
        }
        return self;
    }
    @end
  • 相关阅读:
    自定义组件
    vue 父子组件传值数据不能实时更新问题
    vuex(2)
    vuex(1)
    mysql-忘记密码
    转发&重定向
    mysql主从配置
    mysql安装脚本
    1、JAVA数据类型
    maven 国内阿里云镜像配置
  • 原文地址:https://www.cnblogs.com/kinghyt/p/10392121.html
Copyright © 2011-2022 走看看