zoukankan      html  css  js  c++  java
  • 12月19号 init和class

    @init 自定义

     

    相当于构造方法,有的时候初始化的时候有一些默认值,还有就是页面加载数据的时机问题,防止加载了页面再填数据

    声明:

      -(instancetype)initWithName:(NSString *)aName andage:(int)aAge;   //自定义的初始化方法必须以init开头

    实现:

      -(instancetype)initWithName:(NSString *)aName andage:(int)aAge{

          if (self =[super init]) {       //调用父类方法init 并且判断是否初始化成功

              self.name = aName;

              self.age = aAge;

          }

          return self;

      }

    调用:

      Person *hrr =[[Person alloc]initWithName:@"hrr" andage:20];

     

    ps:

    自定义的时候可以有三种返回类型  意义相同

      -(Person *)initWithName

      -(id)initWithName     //id相当于void

      -(instancetype)initWithName      //instancetype对象类型

     

     

     

    @class

     

    有一些类会相互调用

    例如钥匙类中会包含锁,锁中又包含钥匙

    相互#import会出错  因为一直互相引用

    这时随便选择一个类

    @class Key

    就可以解决这个问题

    表示声明的时候不导入但是在实现的时候导入

  • 相关阅读:
    Java集合中迭代器
    java 基础归纳总结(三)
    java 基础归纳总结(二)
    java 基础归纳总结(一)
    python之hashlib模块
    python之configparser模块
    Python之time模块
    python之os模块
    python之random模块
    python generator(生成器)
  • 原文地址:https://www.cnblogs.com/hmzxwky/p/5062431.html
Copyright © 2011-2022 走看看