当前位置:  开发笔记 > IOS > 正文

文档继承了没有Doxygen /编译器警告的Obj-C方法?

如何解决《文档继承了没有Doxygen/编译器警告的Obj-C方法?》经验,为你挑选了0个好方法。

背景:

我正在Objective-C中创建复合字典数据结构的层次结构,并且继承自NSMutableDictionary,因此这些类可以在任何需要NSDictionary/NSMutableDictionary的地方使用.(正因如此,人们不认为我正在重新发明轮子,每个人都使用CFMutableDictionaryRef,加上一些额外的结构,按照排序顺序,插入顺序等存储键.)为了与Apple的文档保持一致,我已经覆盖了必要的NSDictionary原语和NSMutableDictionary原语,这些类中的所有其他方法都使用这些原语.

目标:

由于我努力完全记录我的框架的API,我希望我的自定义子类(由Doxygen生成)的文档包含NS(Mutable)Dictionary最常用方法的描述,因此用户不会必须查看另一个页面只是特定自定义字典继承的方法.此外,有时文档必须反映由重写的原始方法引起的不同功能,尽管方法实现与NS(Mutable)Dictionary没有变化.

问题:

当只记录被覆盖的方法时,我没有得到任何错误/警告.如果我添加记录继承方法的注释,Doxygen会抱怨(并且不会生成所述文档),除非我将方法原型添加到头文件中.如果我添加原型,编译器会发出一个警告,表明实现已完成,因为它不包含声明方法的方法定义.显然,这是一种方法,其中该方法存在于父类中,但编译器是实现它的坚持者,因为原型基本上是在子类中重新声明的.

问题:

是否有可能使Xcode/gcc抑制"未找到'X'的方法定义"对从父类继承的方法的警告?

是否有可能强制Doxygen为没有泄漏的方法创建文档?我尝试使用该\fn命令,但得到了相同的结果.

是否有可能欺骗Doxygen以为我写的文档实际上适用于NSMutableDictionary,但它是否出现在我的所有自定义子类中?

编辑:

据我所知,第一个问题的答案是肯定和否定.从技术上讲,使用该-Wno-protocol选项(或取消选中Xcode构建设置中的"不完整的Objective-C协议"警告)导致GCC禁止编译时警告,这些警告似乎没有实现所有协议方法.但是,这掩盖了实际上没有实现所有必要方法的类的问题.为了构建一个使用协议的框架,这真的不是一个选择.目前,GCC似乎并不了解从链接(非源)父类继承的方法.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有