11

我想知道在 Xcode 中,我能否快速知道哪些类实现了某些协议?

我不想使用搜索,但想快速识别此类。

4

2 回答 2

7

特别是在协议实现的类中,只需在协议方法上按“命令 btn + 鼠标右键单击”即可。

它将显示所有实现此方法的类的列表。你可以通过点击它来跳上那个课程......

于 2013-08-08T09:22:14.763 回答
7

您可以使用助理编辑器:

  • 打开您感兴趣的协议,将光标放在@protocol定义内
  • 打开 Assistant Edior ( command- option- return) 并从左上角的下拉菜单中选择Protocols

在此处输入图像描述

实现该协议的类将在列表中。

编辑添加来自 Rob 评论的信息:

请注意,这只查找在其公共标头或在其实现中声明它们符合协议的类。如果在其他地方声明了对协议的一致性,则这些类将不会出现。

假设您在某处定义了一个协议

@protocol MyProtocol <NSObject>
…
@end

将显示具有这样公共标头的MyClass.h类:

@interface MyClass : NSObject <MyProtocol>

此外,将显示像这样在 .m 文件中扩展的类

@interface MyObject () <SomeProtocol>
…
@end

@implementation MyObject 
…
@end

像这样的类扩展MyClass_Extension.h不会出现:

@interface MyObject (Extension) <SomeProtocol>
…
@end
于 2013-08-08T06:29:13.630 回答