• @propetry参数


    //

    //  Person.h

    //  01-手动内存管理基本概念

    //

    //  Created by apple on 14-3-17.

    //

    //

    #import <Foundation/Foundation.h>

    #import "Car.h"

    @interface Person : NSObject

    //1.生产get与set方法的声明

    //2.生成get与set方法的简单实现

    //3.若果你没有声明名相对象的成员变量,那么他会自动生成一个_开头的成员变量

    //@property 参数分为4类

    /*

    1.与set方法内存管理相关参数

    retain: 要生成符合内存管理原则的set方法(应用与对象类型)

    assign: 直接赋值,(对象类型,基本数据类型)

    copy :  (后面讲解)

    */

    //2.多线程相关

    //nonatomic: 不生成多线程线相关代码,使用这个就可以了(效率高一点)

    //atomic:生成多线程线相关代码(不写默认是这种方式)

    //3.是否要生成set与get方法

    //readwrite: 可读可写属性,同时生成set与get方法

    //readonly : 只读属性,只生成get方法

    //4.set与get方法名称相关的参数

    //setter:设置生成的set方法名称

    //getter:设置生成的get方法名称

    @property (nonatomic,retain) Car * car;

    @property (nonatomic,retain)NSString * name;

    @property (nonatomic,assign)int age; //int float double char

    @property (nonatomic,assign)int weight;

    @property (nonatomic,assign,readonly)int idCard;

    @property (nonatomic,assign,setter = abc:,getter = zhuanghuimei)int height;

    //改变set与get方法名称很多都是用在BOOL类型的变量

    @property (nonatomic,assign,setter = isDeid:,getter = isDeid)BOOL isDeid;

    //- (void)isDeid:(BOOL)isDeid;

    //- (void)setHeight:(int)height;

    //- (int)height;

    /*

    - (void)setCar:(Car *)car

    {

        _car = car;

    }

    - (Car *)car

    {

        return _car;

    }

     - (void)setCar:(Car *)car

     {

     if (_car != car)

     {

       [_car release];

       //car 2

       _car  = [car retain];

     }

     }

    */

    @end

  • 相关阅读:
    python笔记之条件语句、循环语句、迭代器和生成器
    浅谈IO和NIO
    浅谈java自定义类加载器
    浅谈Synchronized和ReentrantLock
    软工1816 · 第三次作业
    软工1816 · 第二次作业
    软工1816 · 第一次作业
    简单的自我介绍
    The Last
    第七次课程作业
  • 原文地址:https://www.cnblogs.com/supper-Ho/p/6165834.html
Copyright © 2020-2023  润新知