在.m上声明代表

时间:2012-11-08 14:42:34

标签: iphone ios ipad cocoa-touch cocoa

我对Objective-C比较陌生。

我已经在网络上找到了类似于rootViewController.m的代码(这是一个基于navigationController的应用程序)。

@interface RootViewController (CManagerDelegate) <CManagerDelegate>
@end

@interface RootViewController (PViewDelegate) <PViewDelegate>
@end

两个问题:

  1. 这些行在rootViewController.m
  2. 的开头是做什么的
  3. 这些代码在代码中做了什么?请解释括号内和&lt;&gt;之间的内容。在这种特殊情况下。
  4. 感谢。

2 个答案:

答案 0 :(得分:4)

在一句话中:您发布的代码使RootViewController类私下符合某些委托协议。

委托协议用于让类声明它理解来自另一个类的对象的消息。例如,视图控制器可以声明它理解手势识别器的委托消息。

类内部使用手势识别器的事实通常是与该类的其他客户端无关的实现细节。最好不要在公共接口中发布这个事实,而是将其放入实现(.m文件)中。

类别(和类扩展)允许您这样做:使类符合协议而不更改主@interface

一个漂亮而优雅的解决方案!

答案 1 :(得分:1)