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

时间:2011-12-17 01:10:13

标签: objective-c xcode cocoa

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

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

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

@interface KTThumbsViewController : UIViewController <KTThumbsViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate>

XCode 4

enter image description here

3 个答案:

答案 0 :(得分:8)

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

通过右上角的“查看”按钮打开导航器视图:

View Navigator toggle button

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

enter image description here

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

答案 1 :(得分:6)

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

答案 2 :(得分:1)

作为此后续行动

有时&#34;不完整的实施&#34;真的意味着&#34;功能原型和实现的功能之间不匹配&#34;。

例如,如果你的.h文件中有这个:

- (NSTimeInterval) SayDigit: (int) score;

但是在.m文件中你有这个:

- (NSTimeInterval) SayDigit: (int) digit: (NSTimeInterval) time

你会得到&#34;不完整的实施&#34;警告。