码迷,mamicode.com
首页 > 其他好文 > 详细

oc-25- @property @synthesize

时间:2016-03-23 15:34:33      阅读:141      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!