zoukankan      html  css  js  c++  java
  • 协议中的修饰符

    关于写一种的修饰符的理解

    在objective-c 2.0中的协议中,可以对协议中的成员函数前面添加修饰符。

    @ required

    用@ required修饰的协议的成员函数,继承该协议的类就必须实现该协议包含的所有的前面有@required修饰的成员函数,

    @ optional

    用@optional修饰的协议的成员函数,继承该协议的类就可以有选择性的实现这些协议的成员函数,也就是说,对于有@optional修饰的协议成员函数,继承该协议的类,可以实现该函数,也可以不是实现该成员函数。

    这种协议定义的方式,可以看做是非正式的协议。

    正式协议:与非正式协议一样,也是一组方法列表,但与非正式协议不同的是:

    正式协议要求显式的采用协议,采用协议的办法是在类的@interface声明中列出协议的名称,称遵守该协议,必须实现协议的所有方法

    OC2.0的新特性,虽然非正式协议可以在效果上达到,但是不能明确表达这种可以选择的意图

    从事iphone开发可能会注意到,Cocoa中许多非正式协议正被带有@optional的正式协议取代   

    THE END !

    2011-07-10

  • 相关阅读:
    django 使用form组件提交数据之form表单提交
    django from验证组件
    django中间件
    gin中http重复解析body数据失败
    go 常用工具链
    git 提交规范
    go简单实现heap
    Go优雅实现选传参数
    [已解决]protoc-gen-go: unable to determine Go import path for "xxx.proto"
    Go编译工具命令
  • 原文地址:https://www.cnblogs.com/xingchen/p/2102523.html
Copyright © 2011-2022 走看看