NSLogで表示される物を変更する
NSObject で定義されている
-(NSString*)description;
をオーバーライドしてやります。
例えば
@interface Name : NSObject @property (nonatomic) NSString *lastName; @property (nonatomic) NSString *firstName; -(id)initWithFirstName:(NSString*)firstName LastName:(NSString*)lastName; @end @implementation Name -(id)initWithFirstName:(NSString*)firstName LastName:(NSString*)lastName { if((self = [super init])) { _firstName = firstName; _lastName = lastName; } return self; } -(NSString*)description { return [NSString stringWithFormat:@"性:%@ 名:%@", lastName, firstName]; } @end
として
#import <UIKit/UIKit.h> int main(int argc, char *argv[]) { @autoreleasepool { Name *name = [[Name alloc]initWithFirstName:@"たろう" LastName:@"さこく"]; NSLog("%@",name); } }
このように呼び出せば、
性:さこく 名:たろう
と表示されます。