Objective-C 深入特性探索:协议与类别
1. 协议的深入探索
1.1 协议的预声明
在某些情况下,我们可能需要告知编译器某个协议的存在,但暂时不导入其头文件。可以通过在另一个协议声明上方添加 @protocol Foo 指令来实现,这相当于告诉编译器:“相信我, Foo 是一个协议,我会在编译时包含它,但现在不在这里导入 Foo.h ”。
1.2 协议的应用场景
在使用诸如 Cocoa 和 Cocoa Touch 等应用程序框架时,协议在 Objective-C 中被广泛应用。主要应用场景包括委托和数据源对象。例如,委托对象在运行时可能需要一些无法通过通用方式确定的信息,如在给定表格视图中要显示哪些列。另外,当某些进程需要在后台执行时,也会用到协议。比如调用一个 -start 方法,该方法会立即返回,然后通过委托协议方法接收进程完成的回调通知。
以下是一个使用 NSURLConnection 并实现其委托协议方法的示例代码:
@implementation NetworkConnector
-(id)init
{
if(self = [super init])
{
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *req = [NSURLRequest
超级会员免费看
订阅专栏 解锁全文
74

被折叠的 条评论
为什么被折叠?



