ios 视频学习 3.4 @property属性和点语法

在一个类中声明另一个类的对象指针,要在该类的init方法中进行初始化。

#import "House.h"

@interface Person:NSObject

{

    House * house;

    int age;

}

-(void)getAge;

@end


//Person.m

@implementation Person

-(id)init()

{

    if(self=[super init])

    {

         house=[ [ House alloc ] init ];

    }

    return self;

}

-(void)getAge

{

    age=30;

    return age;

}

@end

//新建一个House类

@interface House:NSObject

{

    int area;

}

-(void)getArea;

@end

//Person.m

@implementation House

    -(void)getArea

    {

        area=30;

        return area;

    }

@end

其中,init方法已经在父类中声明。

打印类名的方法:

NSLog("self类名称:%@",[self class]);//当前类名

NSLog("父类名称:%@",[self superclass]);//当前类名


下面介绍@property和@synthesize声明。

先声明int numer;

@property (nonatomic,readonly)  int numer;

@synthesize number;

nonatomic意思是非原子的(这个线程没有把number上锁,其他线程可以访问它),atomic意思是原子的(这个线程把number锁定)。

readonly代表只读,生成number方法,不生成setNumber:(int) 方法

用property声明number以后,在方法里面使用,需要用self.number使用。(直接用number应该也可以)


疑问:assign retain的意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值