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]);
}
}