@fiy-fish
2015-07-18T12:23:51.000000Z
字数 1379
阅读 1523
Objective-c
// main.m// 属性//// Created by Aaron on 15/7/9.// Copyright (c) 2015年 Aaron. All rights reserved.//#import <Foundation/Foundation.h>#import "Dog.h"int main(int argc, const char * argv[]) {@autoreleasepool {Dog *dog = [[Dog alloc] init];dog.name = @"小白";NSLog(@"%@",dog.name);NSLog(@"%@",[dog readName]);[dog writeName:@"小黑"];NSLog(@"%@",dog.name);[dog setMyTemp:100];dog.temp = 1000;NSLog(@"%ld",[dog temp]);// int temp = 100;// while(1)// {// temp+=10;////// NSLog(@"%d",temp);// }////// while(1)// {// temp = 10000;// }}return 0;}
#import <Foundation/Foundation.h>@interface Dog : NSObject//{// NSString *_name;//}//-(void)setName:(NSString *)name;//-(NSString *)name;@property (nonatomic,copy) NSString *name;//property 只干一件事 就是声明setter getter接口-(void)writeName:(NSString *)name;-(NSString *)readName;//考虑线程安全//nonatomic 非原子性(不考虑线程安全)//atomic 原子性(考虑线程安全)//copy 拷贝 只要是字符串都用copy//retain 只要是对象都用retain//assign 基本类型的数据都用assign//还可以自己指定setter getter接口的写法@property (nonatomic,assign,readwrite,setter=setMyTemp:) NSInteger temp;//readwrite 产生两个接口(默认的缺省的值)//readonly 产生一个getter接口@end
#import "Dog.h"@implementation Dog{NSInteger _i;}//@synthesize name;//@synthesize 现在可以不用写,系统在编译时会自动添加//实现setter getter方法//没有手动实现synthesize 会找带_的属性,如果有,就直接使用,如果没有,就创建一个带_的属性//-(void)setName:(NSString *)name//{// if(_name != name)// {// _name = name;// }//}////-(NSString *)name//{// return _name;//}-(void)writeName:(NSString *)name{_name = name;}-(NSString *)readName{return _name;}@end
