Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是否可以定义一个看起来像注释的宏?_Iphone_Cocoa_Cocoa Touch_Xcode - Fatal编程技术网

Iphone 是否可以定义一个看起来像注释的宏?

Iphone 是否可以定义一个看起来像注释的宏?,iphone,cocoa,cocoa-touch,xcode,Iphone,Cocoa,Cocoa Touch,Xcode,我试图为日志记录制作一个有用的宏。但我发现,NSLog和所有其他类型的宏,携带文本信息,只是分散了代码的注意力 是否有任何方法可以“黑客”Xcode,使其能够解释如下内容 /*** do this because of that ***/ 例如,作为宏调用,会导致调用NSLog吗?我希望这些日志“感觉”像评论。任何其他看起来像是关键代码的东西都会分散注意力,最终会降低工作效率,记录所发生的事情并没有什么真正的好处。据我所知不是这样(尽管我可能错了!) 我想如果你想让它看起来不一样,宏可能是你

我试图为日志记录制作一个有用的宏。但我发现,NSLog和所有其他类型的宏,携带文本信息,只是分散了代码的注意力

是否有任何方法可以“黑客”Xcode,使其能够解释如下内容

/*** do this because of that ***/ 
例如,作为宏调用,会导致调用NSLog吗?我希望这些日志“感觉”像评论。任何其他看起来像是关键代码的东西都会分散注意力,最终会降低工作效率,记录所发生的事情并没有什么真正的好处。

据我所知不是这样(尽管我可能错了!)

我想如果你想让它看起来不一样,宏可能是你所希望的最好的——至少它会以不同的颜色突出显示:)

我不知道(尽管我可能错了!)


我认为如果你想让它看起来不一样,宏可能是你所希望的最好的——至少它会以不同的颜色高亮显示:)

你可以用大括号括起一行或多行
NSLog
,然后使用Xcode的折叠选项隐藏它们

例如:

{
    NSLog(@"<#label#>");
    NSLog(@"<#label#>");
}
大括号还将在展开时缩进语句,使它们在视觉上更加清晰


我认为你应该重新考虑使用日志语句。如果日志语句的数量和代码行的数量一样多,那么一定是出了问题。您应该使用调试器打印大多数值和消息。如果您有那么多日志语句,那么日志语句中的错误会产生比代码更多的bug。清理代码以便发布也有一个大问题

您可以将一行或多行
NSLog
用大括号括起来,然后使用Xcode的折叠选项隐藏它们

例如:

{
    NSLog(@"<#label#>");
    NSLog(@"<#label#>");
}
大括号还将在展开时缩进语句,使它们在视觉上更加清晰

我认为你应该重新考虑使用日志语句。如果日志语句的数量和代码行的数量一样多,那么一定是出了问题。您应该使用调试器打印大多数值和消息。如果您有那么多日志语句,那么日志语句中的错误会产生比代码更多的bug。清理代码以便发布也有一个大问题

是否可以定义一个看起来像注释的宏

为什么要降低代码的可读性

答案是否定的,这是一件好事

是否有任何方法可以“黑客”Xcode,使其能够解释如下内容

/*** do this because of that ***/
作为一个宏调用

可能吧,但那没用。这样做只会使语法着色不正确(将此注释着色为函数调用)。编译器(GCC或Clang)仍然会将其视为注释

让编译器认为这是函数调用或宏调用实际上是在运行时实现日志输出的方法,但即使可以这样做,这仍然是一个坏主意,因为函数调用或宏调用会伪装成注释

如果希望程序记录消息,请编写日志代码:

NSLog(@"Do %@ because of %@.", foo, bar);
此代码是在运行时执行某些操作的显式代码。不神秘。没有意外。这就是为什么它更好

是否可以定义一个看起来像注释的宏

为什么要降低代码的可读性

答案是否定的,这是一件好事

是否有任何方法可以“黑客”Xcode,使其能够解释如下内容

/*** do this because of that ***/
作为一个宏调用

可能吧,但那没用。这样做只会使语法着色不正确(将此注释着色为函数调用)。编译器(GCC或Clang)仍然会将其视为注释

让编译器认为这是函数调用或宏调用实际上是在运行时实现日志输出的方法,但即使可以这样做,这仍然是一个坏主意,因为函数调用或宏调用会伪装成注释

如果希望程序记录消息,请编写日志代码:

NSLog(@"Do %@ because of %@.", foo, bar);

此代码是在运行时执行某些操作的显式代码。不神秘。没有意外。这就是为什么它更好的原因。

但是文本仍然是红色的。我删除了代码中的所有内容,尽管这对调试有很大帮助。当再次开始发展时,它只是分散了太多的注意力,让人觉得不值得。日志行和代码行一样多。。。大约5000个。也许你需要问问自己,为什么你要记录这么多?每行的日志似乎太多了,但文本仍然是红色的。我删除了代码中的所有内容,尽管这对调试有很大帮助。当再次开始发展时,它只是分散了太多的注意力,让人觉得不值得。日志行和代码行一样多。。。大约5000个。也许你需要问问自己,为什么你要记录这么多?每一行的日志似乎都太多了。我不知道,我个人认为这些黑客评论会更加分散注意力,最终使代码更加混乱。(“那些日志是从哪里来的?!”)我不知道,我个人认为这些黑客评论会更加分散注意力,最终使代码更加混乱。(“那些原木是从哪里来的?!”)