読者です 読者をやめる 読者になる 読者になる

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

このように呼び出せば、

性:さこく 名:たろう

と表示されます。