【问题标题】:How to remove line contains starting with NSLog iOS?如何删除以 NSLog iOS 开头的行包含?
【发布时间】:2016-02-06 08:32:25
【问题描述】:

我在代码中有很多 NSLogs。一个简单的解决方案是我替换为

NSLog(@  with //NSLog(@

但是,如果我想删除所有的行,从 NSLog 开始,我该怎么办?

谢谢

【问题讨论】:

  • 看到这个链接它可以帮助你stackoverflow.com/questions/2025471/…
  • 未来考虑使用断点操作。
  • 断点与 NSLog 不同。 @vadian,这不是必需的,我们通过断点实现所有目标。谢谢建议
  • 断点 action 不仅仅是一个断点。它能够不间断地执行多项任务(记录只是一项任务)。一个主要的好处是它不会更改代码。 ⌥⌘-单击断点以查看设置弹出窗口。
  • @vadian,太好了,哇,我提出另一个问题,以了解这一点。谢谢。

标签: ios


【解决方案1】:

在 Xcode 中,只需从 Project Navigator 中搜索和替换。可以选择“开头”、“包含”、“正则表达式”等。

使用正则表达式^[\s\W]+NSLog.*$ 应该适用于在NSLog 之前可能有制表符或空格的行,但不会捕捉到可能在它前面的其他文本的行。 (注意在第二个屏幕截图中NSLog 在行尾检测到,而第一个没有)。

另一个例子可能是如果您想保留已注释的 NSLog 行并删除其他行:

^[^/*]*[\s\t]*NSLog.*$ 

将删除第 3 行的 NSLog 和第 7 行的 NSLog(@"%@",removed);

// NSLog
/* NSLog */
NSLog

NSString *NSLog = @"not nslog"

    NSLog(@"%@",removed);

其他示例:

【讨论】:

  • 它将删除 NSLog,而不是整行代码@I'L'I
  • @VS:还有一个使用正则表达式的选项...允许删除整行。 (见下图)。
【解决方案2】:

如果您的 NSLogs 写在一行中,您可以进行正则表达式搜索和替换。输入 NSLog.*$ 作为搜索正则表达式并将其替换为空字符串。你所有的 NSLog 语句都应该消失。

【讨论】:

    【解决方案3】:

    将以下行添加到您的 ConvenienceMethods 文件中:

    #define SHOWLOGS NO
    #defile NSLog if(SHOWLOGS)NSLog
    

    如果您没有 ConvenienceMethods 文件,只需将其写入您的控制器即可。

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 2017-01-18
      • 2020-10-31
      • 2014-05-27
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      相关资源
      最近更新 更多