有时我有一个实现多个协议的接口,我会从XCode收到一条警告,告知我的实现不完整。
是否有一种简单的方法可以确定哪些方法是“必需的”但是已经实现(无需从协议头文件中放入所有非可选方法的虚拟实现)?
例如,我在这个界面上有一个警告,但我不想深入了解所有协议..显然XCode知道有些丢失,为什么它不能告诉它们是什么!
@interface KTThumbsViewController : UIViewController <KTThumbsViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate>
XCode 4
答案 0 :(得分:8)
遗憾的是,这里找不到答案。但是,在导航器视图的问题导航器中,更多的挖掘出现了答案。
通过右上角的“查看”按钮打开导航器视图:
然后通过左上角的三角形/感叹号按钮打开“问题”导航器:
如果您使用左边的小三角形扩展“不完整实现”语义问题,您可以看到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;警告。