void f1()
{
XStu* p = [XStu new];
NSLog(@"%@", p);
NSLog(@"%@", [p description]);
NSString *p1 = [p description];
NSLog(@"%@", p1);
2. description是实例方法,在NSObject中出现的,所以所有类都有这个方法
3. NSObject的所有子类都可以重写该方法,以便于让description返回自定义的NSString*
//XStu.h
#import <Foundation/Foundation.h>
@interface XStu : NSObject
@property NSString* name;
@property int age;
-(NSString*) description;
@end
//XStu.m
#import <Foundation/Foundation.h>
#import "XStu.h"
@implementation XStu
@synthesize name;
@synthesize age;
-(NSString*) description {
NSString* p = [NSString stringWithFormat:@"{XStu:{name:%@,age:%d}}", self.name, self.age];
return p;
}
@end
|
|
//main.m #import <Foundation/Foundation.h> #import "XStu.h" void f1() { XStu* p = [XStu new]; NSLog(@"%@", p); } int main(int argc, const char * argv[]) { @autoreleasepool { f1(); } return 0; } |