首页 > 其他 > 详细

oc-25- @property @synthesize

时间:2016-03-23 15:34:09      阅读:126      评论:0      收藏:0      [点我收藏+]
s.h

#import <Foundation/Foundation.h>

@interface Student : NSObject
{
    @public
    NSString *_name;
    int _age;
    int _height;
}

// @property能够自动生成set和get方法的 声明
// @property 成员变量类型 成员变量名称(去掉下划线);
//- (void)setName:(NSString *)name;
//- (NSString *)name;
@property NSString *name;
@end


s.m

/**
 问题:想要给自己不带下划线的成员变量进行赋值,怎么办?>

 需要给@synthesize指定,告诉该赋值给谁.
 @synthesize name = _name;
 它就知道,赋值_name;
 */


#import "Student.h"

@implementation Student
@synthesize name;
//生成了getset方法的实现
//- (void)setName:(NSString *)name
//{
//    name = name;
//    NSLog(@"%p",name);
//}
//- (NSString *)name
//{
//
// return name;
//}
@end


main.m

#import <Foundation/Foundation.h>
#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student *s = [Student new];
        s.name = @"亚索";
        // 这步能够调用,证明@property生成了set和get方法的声明.
        [s setName:@"亚索"];
        // 证明@synthesize生成了set和get方法的实现.
        NSLog(@"%p",s->name);
        NSLog(@"-----");
    }
    return 0;
}

 

oc-25- @property @synthesize

原文:http://www.cnblogs.com/yaowen/p/5311330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!