OC8_setter方法展开

//

//  Person.h

//  OC8_setter方法展开

//

//  Created by zhangxueming on 15/6/18.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#import <Foundation/Foundation.h>

#import "Dog.h"



@interface Person : NSObject



@property (copy, nonatomic) NSString *name;

@property (assign, nonatomic) NSInteger age;

@property (retain, nonatomic) Dog *dog;





@end
//

//  Person.m

//  OC8_setter方法展开

//

//  Created by zhangxueming on 15/6/18.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#import "Person.h"



@implementation Person



//copy展开

- (void)setName:(NSString *)name

{

    if (_name != name) {

        [_name release];

        _name = [name copy];

    }

}



//assgin展开



- (void)setAge:(NSInteger)age

{

    _age = age;

}



//retain展开



- (void)setDog:(Dog *)dog

{

    if (_dog != dog) {

        [_dog release];

        _dog = [dog retain];

    }

}



- (void)dealloc

{

    [_name release];

    [_dog release];

    [super dealloc];

}



@end
//

//  Dog.h

//  OC8_setter方法展开

//

//  Created by zhangxueming on 15/6/18.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#import <Foundation/Foundation.h>



@interface Dog : NSObject



@end





//

//  Dog.m

//  OC8_setter方法展开

//

//  Created by zhangxueming on 15/6/18.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#import "Dog.h"



@implementation Dog



@end
//

//  main.m

//  OC8_setter方法展开

//

//  Created by zhangxueming on 15/6/18.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#import <Foundation/Foundation.h>



int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        NSLog(@"Hello, World!");

    }

    return 0;

}

 

你可能感兴趣的:(setter)