zoukankan      html  css  js  c++  java
  • property,类和类之间的关系

    property 关键字

    nonatomic  非原子操作,没有加锁解锁机制,线程不安全,速度快

    atomic 原子操作,有加锁解锁机制线程,安全,效率低

    内存

    strong---声明对一个不是自己创建的对象的拥有权,这个对象的retainCount +1

    retain----同strong

    weak-----不引用 它存在的作用就是解决循环引用

    copy  ---重新复制一个对象出来,好处:和原对象已经脱离关系了,不受外部影响

                                                弊端:内存加大了

    assign --------对于C语言的基本类型基本都是assign

    readOnly ------只能读 (property 只为我们提供了getter 方法)

    readWrite--------默认可读可写,(setter getter)

    setter -----更改set方法,建议不要改

    getter---

    @int 自定义

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

    声明:

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

    实现:

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

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

    self .name = aName;

    self.age = aAge

    }

    return self;

    }

    调用:

    Person *yql = [[Person alloc]initWithName:@"yql"andage:18];

     自定义的三种返回类型

    -(Person)*intWithName

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

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

  • 相关阅读:
    day28 粘包, 合法性连接
    day27 网络通信协议, tcp和udp, 缓冲区, subprocess
    day 26 C/S架构, 网络通信流程, 初识socket
    day25 包语法
    Python9-From-CSS-day48
    Python9-前端基础知识-day47
    Python9-MySQL-MySQL-ORM框架-day48
    Python9-MySQL-MySQL存储过程-视图-触发器-函数-day45
    Python9-MySQL-pymysql模块-day44
    Python9-MySQL-Homework-day43
  • 原文地址:https://www.cnblogs.com/yangqinglong/p/5056900.html
Copyright © 2011-2022 走看看