• Protocol(协议)(二十)


    Protocol(协议)

    Protocol在iOS中常见,协议是一套标准,类似于一个单子,上面写有一些要去完成的事,就看谁去签这个协议,如果谁签协议,那么它就要实现(完成)协议上要求完成的东西。

    创建Protocol,command+N,选择objective-c file,然后file中写协议名字,file type选择protocol。即可生成一个.h文件。

    所有的协议在这个.h文件中声明即可。

    协议的声明,以@protocol开始,以@end结束,里边放一些需要实现的方法,这些方法,用@required(必须实现)和@optional(可实现,可不用实现)来修饰。

    @protocol 协议名字 <NSObject>,NSObject放在<>号内,则不再是类,而是协议。

    一个例子:

    MyProtocol.h(写协议)

    #import <Foundation/Foundation.h>

    //声明协议

    @protocol MyProtocol <NSObject>//放在<>里的NSObject已经不是一个类,而是一个协议

     

    @required//要求必须的。必须实现

    - (void)eating;

    - (void)drinking;

    @optional//可选。可选实现

    - (void)shopping;

     

    @end

    Student.h(签协议)

    #import <Foundation/Foundation.h>

     

    #import "MyProtocol.h"//引入协议

    @interface Student : NSObject<MyProtocol>//签协议

     

    @end

    Student.m(实现协议内容)

    #import "Student.h"

    @implementation Student

    - (void)eating{

     

    }

    - (void)drinking{

     

    }

    - (void)shopping{

     

    }

    @end

    main.m执行协议

    #import <Foundation/Foundation.h>

    #import "Student.h"

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            Student *s1 = [[Student alloc]init];

            [s1 eating];

            [s1 drinking];

            [s1 shopping];

        }

        return 0;

    }

  • 相关阅读:
    零基础学python-2.24 一些常用函数
    零基础学python-2.23 模块
    零基础学python-2.22 回到我们的游戏 加入文件和异常
    tcp协议:三次握手四次挥手详解---总结
    centos7安装jmeter + ant
    centos7安装jenkins
    centos7安装tomcat
    centos7安装jdk (jdk-8u161-linux-x64.tar.gz 和 java-1.8.0-openjdk* 介绍)
    波浪场景jp@gc
    阶梯场景jp@gc
  • 原文地址:https://www.cnblogs.com/DevinSMR/p/5118623.html
Copyright © 2020-2023  润新知