设置器和访问器

#import <Foundation/ Foundation.h>

@interface ClassA : NSObject {

int myNumber; // 实例变量 }

- (void)print; // 打印,返回为空

-(void)setMyNumber:(int)number; // 设置器          

}

@end

#import "ClassA.h"                      

@implementation ClassA - (void)print

{
    NSLog(@"Class A number is :

%d", myNumber);
} // 打印myNumber的值

- (void)setMyNumber:(int)number
{

myNumber = number; } // 设置myNumber的值

- (int)number:(int)number
{

-!(int)number:(int)number // 访问器

return myNumber;

 } // 获取myNumber的值

 @end 

在cocoa中get特殊意义,尽量不要在方法命名中出现

——————————————————————————

简化设置器和访问器

@property  和@synthesize

用@property相当于set方法

在@synthesize里进行get方法实现

@property()和@snythesize()括号里有三种参数,默认情况下分别为:atomic,assign,readwrite

1:读写属性,有readonly和readwrite,readonly的话没有set方法

2:setter方法,assign(weak)为赋值,引用计数为一,只是相当于一个别名,在栈上和堆上地址和内容都相同。

retain保留,引用计数加一,在栈上开辟一块内存,但存放的内容是相同的,都是堆的地址,都指向相同一块堆内存。加入retain机制,防止指针传递之后被误release

copy复制,引用计数要加一,在栈上重新开辟一块内存,并且在堆上也开辟一块内存,它们的内容不相同,分别指向不同堆地址,引用计数加一。这是为了减少对上下文的依赖而引入的机制。

3:atomic和nonatomic  nonatomic非原子性,不加同步,多线程会提高访问效率。默认为atomic原子性,作用是防止写未完成时别其他线程破坏。iphone用nonatomic

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值