返回只是ClassName的描述?

fuz*_*oat 7 objective-c nsstring

类实例的默认描述返回"ClassName:0x105120".我如何修改下面的方法只返回"ClassName"?

// The code below just returns the address ...
- (NSString *)description {

 NSString *result;

 result = [NSString stringWithFormat:@"%p", self];
    return result;
}
Run Code Online (Sandbox Code Playgroud)

编辑:在这种情况下,这是正确的吗?虽然我明白如果我想将className作为NSString实际获取,我应该使用NSStringFromClass([self class])

- (id)init {
 NSLog(@"_init: %@", [self class]);
 [super init];
 return self;
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢-gary-

Nik*_*uhe 20

iPhoneOS:NSStringFromClass([self class])
MacOS:[self className]

...给你一个带有类名的NSString

编辑:

对于iPhoneOS和MacOS,要走的路是:

NSStringFromClass([self class])

  • `NSStringFromClass`实际上也是在Mac OS X上执行它的正确方法.`-className`是用于编写脚本的NSObject类别的一部分. (4认同)