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
  • 相关阅读:
    javascript基础
    html基础
    css基础
    django-session和cookie
    rest架构
    django-models
    django-templates
    Alignment
    ural 1225.Flags
    ural 1009. K-based Numbers
  • 原文地址:https://www.cnblogs.com/kinghyt/p/10392121.html
Copyright © 2011-2022 走看看