• #import、#include、@class、@protocol、@interface


    #include

    它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件。(注意重复引用)

    #import

    Objective-C针对#include的改进版本,确保引用的文件只会被引用一次,不会陷入递归包含的问题中。

    #import会链入该头文件的全部信息,包括实体变量和方法等。

    #import<>用来包含系统自带的文件

    #import""用来包含自定义的文件

    @class

    只是告诉编译器,其后面声明的名称是类的名称,不需要知道其内部的实体变量和方法。一般来说,@class是放在interface中的,只是为了在interface中引用这个类,把这个类作为一个类型来用的。 在实现这个接口的实现类中,如果需要引用这个类的实体变量或者方法之类的,还是需要import在@class中声明的类进来。

    @protocol

    Objective-C中的协议,本身不实现任何方法,只是声明方法,使用协议的类必须实现协议方法

    关于delegate  protocol 网上有一个例子讲的非常形象:

    我上班的工作主要内容包括 (1)写代码(2)写文档(3)测试程序(4)接电话(5)会见客户

    (1)(2)我自己全权负责,但是后面(3)(4)(5)我不想或者不方便自己做,所以我想找个助手(delegate)帮我做这些事,于是我定了一个招聘要求(Protocol),里写明我的助手需要会做(3)(4)(5)这三件事。很快,我招到一个助手。

            即:我.delegate = 助手;

    @interface

    Objective-C中的接口,就是类的一个声明。

    Objective-C中的类必须要有接口,但不一定都要有协议。

  • 相关阅读:
    Java使用POI操作Excel合并单元格
    LinkedList查询分析
    Redis面试题及答案
    分布式架构基础:Java RMI详解
    什么是线程
    ehcache、memcache、redis三大缓存比较
    ehcache入门基础示例
    js 异步提交文件
    .net core Model对象转换为uri网址参数形式
    net core2.1 在过滤器中获取post的body参数
  • 原文地址:https://www.cnblogs.com/sjxjjx/p/5071093.html
Copyright © 2020-2023  润新知