代码之家  ›  专栏  ›  技术社区  ›  kim3er

@可选协议方法的真实示例

  •  10
  • kim3er  · 技术社区  · 16 年前

    我目前正在学习Objective-C,并在Protocols中遇到了可选方法。我的背景是C#,可以将协议视为类似于C#接口的东西。

    如果有人能提供一些可选方法有用的真实场景(带示例代码),我将不胜感激。

    1 回复  |  直到 13 年前
        1
  •  14
  •   Fraser Speirs    16 年前

    FKAccount 可以做很多与Flickr用户帐户相关的事情,包括下载用户的照片、获取他们的联系人列表等。

    FKAccountDelegate FK帐户 FK帐户 将对Flickr的每一项业务感兴趣 FK帐户 可以执行。

    如果要求每个声称实施 协议实现了每个方法,你最终会得到很多存根方法(FWIW,中定义了41个方法 ).当这些方法被声明时 @optional 在协议中,委托只需要实现它感兴趣的回调。

    FK帐户 @可选

    if([self.delegate respondsToSelector: @selector(accountDidDownloadContacts:)]) {
        [self.delegate accountDidDownloadContacts: self];
    }
    
    推荐文章