【问题标题】:Add warning dynamically to Xcode Project向 Xcode 项目动态添加警告
【发布时间】:2014-06-26 15:06:45
【问题描述】:

我问自己是否有办法向我的项目添加动态警告。例如,我的类中的每个方法都应该以分析标记 (setTagVorView:) 开头,如果此行不存在,我或其他开发人员将收到有关此方法的警告通知。

今天,我唯一的解决方案是创建一个带有所需方法的协议(委托),并且每个类(例如 UIViewController)都应遵循此协议并实现所需的方法。问题是:如果开发人员忘记了委托,他将永远不会收到通知。

另一个例子,如果某些属性或方法没有描述,appledoc 命令行工具会向项目添加警告。

那么在某些情况下如何添加我的规则来预测警告?

谢谢。

【问题讨论】:

  • Obiter:您是否考虑过不需要人手动装饰每个方法调用并因此不需要生成警告的解决方案?方法调配或插入代理将是两种最明显的方式。

标签: ios objective-c xcode


【解决方案1】:

不确定它是否符合您的需求,但至少有一种硬编码方式可以实现此目标:创建一个 clang 插件并在其中添加您自己的规则。

我不会很深入,因为它可能需要太多时间,但如果你真的对这个解决方案感兴趣,你可以看看this blog-post,实际上描述了一种使用自定义警告制作插件的方法甚至错误

【讨论】:

    【解决方案2】:

    您可以在希望开发人员覆盖的所有方法中使用NSAsserts:

    NSAssert(NO, @"You need to implement this methode!");
    

    当然,它不像编译时警告那么优雅。

    或者,您可以创建一个 XCode 文件模板,其中包含硬编码警告。看看这个 SO answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 2013-06-08
      • 2013-08-06
      相关资源
      最近更新 更多