Objective-C中@synthesize合成变量名以及使用方法

来源:互联网 发布:ubuntu rm删除多个 编辑:程序博客网 时间:2024/06/16 10:51

1、Person.h

#import <Foundation/Foundation.h>@interface Person:NSObject@property (nonatomic, copy) NSString* name;-(id) initWithName:(NSString*) name;-(void) info;@end

2、Person.m

#import "Person.h"@implementation Person@synthesize name = _sname; //设置系统合成的属性名为_sname,这个可以是任意合法变量名-(id) initWithName:(NSString *)name{    if(self = [super init])    {        self.name = name; //这其实是通过setName方法设置的        //self->_sname = name; //这是直接设置变量    }    return self;}-(void) info{    NSLog(@"此人名为:%@",self.name);}-(void) setName:(NSString *)name{    NSLog(@"test");    self->_sname = name;}-(NSString*) description{    return [NSString stringWithFormat:@"<Person[_sname=%@]>",self->_sname];}@end
3、PersonTest.m

#import "Person.h"int main(int argc, char* argv[]){    @autoreleasepool {        Person* p = [[Person alloc] initWithName:@"a"];        NSLog(@"%@",[p description]);    }}



阅读全文
0 0
原创粉丝点击