您的位置:首页 > 其它

设置器和访问器

2014-01-13 16:10 204 查看
#import
<Foundation/
Foundation.h>@interface
ClassA : NSObject
{int
myNumber; // 实例变量
}- (void)print; // 打印,返回为空-(void)setMyNumber:(int)number;
//
设置器    
   
 }@end#import "ClassA.h"  
     
     
     
 @implementation
ClassA -
(void)print

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

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

-!(int)number:(int)number // 访问器return myNumber; }
// 获取myNumber的值 @end 在cocoa中get特殊意义,尽量不要在方法命名中出现——————————————————————————简化设置器和访问器@property  和@synthesize用@property相当于set方法在@synthesize里进行get方法实现@property()和@snythesize()括号里有三种参数,默认情况下分别为:atomic,assign,readwrite1:读写属性,有readonly和readwrite,readonly的话没有set方法2:setter方法,assign(weak)为赋值,引用计数为一,只是相当于一个别名,在栈上和堆上地址和内容都相同。retain保留,引用计数加一,在栈上开辟一块内存,但存放的内容是相同的,都是堆的地址,都指向相同一块堆内存。加入retain机制,防止指针传递之后被误releasecopy复制,引用计数要加一,在栈上重新开辟一块内存,并且在堆上也开辟一块内存,它们的内容不相同,分别指向不同堆地址,引用计数加一。这是为了减少对上下文的依赖而引入的机制。3:atomic和nonatomic
 nonatomic非原子性,不加同步,多线程会提高访问效率。默认为atomic原子性,作用是防止写未完成时别其他线程破坏。iphone用nonatomic 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: