如何使用Xcode断点日志打印对象/接口的名称?

时间:2015-04-21 12:06:01

标签: ios objective-c xcode

Xcode调试日志可以使用%B打印方法名称,使用%H打印命中计数。如何使用类似的表示法打印接口/对象名称?最好不使用NSLog / debugger命令。

5 个答案:

答案 0 :(得分:1)

最接近的是

NSLog("My file is %@", [NSString stringWithUTF8String:__FILE__]);

__PRETTY_FUNCTION__包含类名和方法,它可能比FILE更适合你。

答案 1 :(得分:1)

我刚发现@[self class]@日志消息可以解决问题。我不确定它在任何场合的有效性。我正在使用@[self class]@ %B %H用于我的目的。我还发现了这个questionanswer,但它不只是在处理Xcode 6.2。

答案 2 :(得分:0)

每个Objective-C对象都可以使用%@打印。 NSLog(@"%@", someObject)会打印对象的description。您可以覆盖类的description方法以提供更详细的信息。请看这个说明:Improved logging in Objective-C

答案 3 :(得分:0)

在断点的调试器命令操作中,您可以输入:

expr printf ("[%s %s]\n", (char *)object_getClassName(self), _cmd)

这将输出,例如[SomeClass someMethod:]

答案 4 :(得分:-1)

您可以使用NSLog();

打印任何内容

比如说,你有一个

NSString *myString = @"qdfsqsdfqsdf";

这是您要记录的重要字符串,您只需键入:

NSLog(@"My important string : %@", myString);

如果这就是你要问的问题,我很惊讶你不要'知道如果您已经了解%B& %H。我回答你的问题还是需要更多一点?