如何快速打印出NSObject及其衍生产品中的所有属性?

时间:2013-08-07 23:34:29

标签: ios

说,我有一个UIColor的对象,我可以快速打印出其属性信息的一些调试信息吗?

我需要打印红色,蓝色,绿色组件等属性。

2 个答案:

答案 0 :(得分:2)

如果你只记录一个UIColor对象:

UIColor *color = [UIColor redColor];
NSLog(@"%@",color);

它将输出UIDeviceRGBColorSpace 1 0 0 1,表示颜色对象的RGBA值。这些数字的范围从0到1.

答案 1 :(得分:1)

对于许多对象,您只需使用NSLog:

NSLog(@"The object = %@", someObject);

“在幕后”这会调用“someObject”的description方法,对于许多对象(特别是NSArrays和NSDictionaries)来说,这是非常具有描述性的,但对于其他对象,则不是这样。

对于您自己的类,您可以覆盖description以生成适当的字符串:

- (NSString*)description {
    return [NSString stringWithFormat:@"MyClass{X = %d, Y = %d}", self.X, self.Y);
}