如何确定XCode有警告时未实现哪些方法

Mic*_*son 16 xcode cocoa objective-c

有时我有一个实现多个协议的接口,我会从XCode收到一条警告,告知我的实现是不完整的.

有没有一种简单的方法可以确定哪些方法是"必需的"但是已经实现(无需从协议头文件中放入所有非可选方法的虚拟实现)?

例如,我在这个界面上有一个警告,但我不想深入了解所有协议.很明显,XCode知道有些东西丢失了,为什么它不能告诉它们是什么!

@interface KTThumbsViewController : UIViewController <KTThumbsViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate>
Run Code Online (Sandbox Code Playgroud)

XCode 4

在此输入图像描述

eri*_*oco 8

不幸的是,在这里找不到答案.但是,在导航器视图的问题导航器中,更多的挖掘出现了答案.

通过右上角的View按钮打开Navigator视图:

查看导航器切换按钮

然后通过左上角的三角形/感叹号按钮打开"问题"导航器:

在此输入图像描述

如果您使用左边的小三角形展开"不完整实现"语义问题,您可以看到XCode投诉的详细信息.


Ant*_*udt 6

按alt并单击协议,xcode将显示它的定义位置,以便您查看头文件.或者,在"问题"选项卡中,它将显示您尚未实现的方法.

  • 也许这就是你所缺少的(我也是) - 点击警告旁边的问题标签中的小三角箭头...(通过你做过的截图,但我正在为像我这样的盲人写作:-p) (4认同)
  • 它告诉我**丢失的东西**,但不是它是什么 - 这是我原来问题的根源.事实证明这是一个名为 - (void)didAddPhoto的方法:在屏幕截图中没有提到.是的,它确实告诉我哪个协议我错过了一个impl(我之前没有注意到,所以感谢指出这一点),但仅此一点可能价值非常有限 - 我正在寻找一个未实现的方法列表无需在mt类和协议定义之间来回切换. (2认同)