什么<>是指在iOS类标题中?

时间:2014-02-17 17:24:24

标签: ios objective-c

AppDelegate.h文件在行顶部包含以下内容:

@interface AppDelegate : UIResponder <UIApplicationDelegate>

当前类是AppDelegate,它是UIResponder的子类。 UIApplicationDelegate与当前班级的关系是什么?

2 个答案:

答案 0 :(得分:5)

它声明该类符合UIApplicationDelegate协议。

Objective-C协议类似于Java接口:它可以声明方法签名,但不能提供方法实现。

如果@implementation缺少协议的任何@required方法,编译器会发出警告。 Xcode将自动完成协议的任何方法(@required@optional)。

您可以通过用逗号分隔来声明多个协议的一致性。例如:

@interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

阅读Cocoa Core Competencies: ProtocolProgramming with Objective-C: Working with Protocols

答案 1 :(得分:0)

这意味着您的类实现了UIApplicationDelegate协议。这里有一些关于协议的内容:https://developer.apple.com/library/ios/documentation/general/conceptual/devpedia-cocoacore/Protocol.html

如果您希望类完全符合协议,则必须将已实现协议中的必需方法实现到您的类中。