@class关键字:

  在当前类中若要引用其他类的对象作成员变量(Book  *book),我们以前采用的方式是 #import "Book.h"

  但 #import "Book.h" 的意思是把整个Book.h文件拷贝进来。但是我们的需求是只要告诉编译器Book是个类就行了,所以写#import可以,但是效率不高。

  为此,OC提供了个专门的关键字@class。

  @class  Book;只是给编译器声明Book是个类!

@class Book;

@class和#import的不同点:

  1.#import的本质是拷贝,它会把整个文件拷贝进来;而@class只是给编译器声明类;

  2.@class允许两个类互相引用,但#import不行,它会陷入递归死循环。

转载于:https://www.cnblogs.com/wangerxiansheng/p/4297295.html

OC语法8——@class关键字相关推荐

  1. Objective-C语法之static关键字的那些事儿(六)

    Objective-C语法之static关键字的那些事儿        学习过Java 或者 C 语言的朋友应该很清楚static关键字吧?在某个类中声明一个static 静态变量, 其他类中想使用它 ...

  2. 一篇关于JSPatch, 线上直接改BUG的利器,OC语法转换时遇到的坑

    开发中往往会遇到应用上线但是还是存在bug的情况,这个时候我们需要及时更新错误的方法,来进行热修复,然后在苹果将热更新禁掉后,大多时候都需要重新审核来发布新的版本更新,然后JSPatch,可以通过腾讯 ...

  3. Java语法——标识符,关键字,数据类型,变量常量介绍

    Java语法 一标识符 定义:对各种变量,类,方法等进行命名的字符序列都被称为标识符.(凡是可以自己命名的变量等都是标识符.) 规则:(1)字母.数字.$.下划线组成 (2)数字不能出现在开头 (3) ...

  4. 第三周 Java语法总结__static关键字__代码块__继承__this和super的区别__重写__final关键字__多态__抽象__接口__形参问题__包__权限修饰符__内部类

    文章目录 6.static关键字 1)静态static关键字的特点: 2)关于static关键字的使用注意事项 3)什么时候将变量定义为成员变量: 7.文档说明书: 8.代码块 9.继承 1)继承的概 ...

  5. 【练习】OC语法的简单复习

    本次主要是根据视频的流程对过去学习的内容进行一个简单的复习. 1.首先创建1个类Student. [.h文件] 1 // 2 // Student.h 3 // 飘柔 4 // 5 // Create ...

  6. C#语法之event关键字

    event 关键字用于在发行者类中声明事件. 下面的示例演示如何声明和引发将 EventHandler 用作基础委托类型的事件. public class Publisher { // Declare ...

  7. 【OC语法快览】四、基础内存管理

    Basic Memory Management                                                           基础内存管理 If you're w ...

  8. oc基础-self关键字的使用

    #import <Foundation/Foundation.h>@interface Student : NSObject {int _age;char *_name; } - (voi ...

  9. 01_传智播客iOS视频教程_课程介绍与知识点回顾

    OC语法中static关键字不能修饰属性,也不能修饰方法,只能修饰方法中的局部变量.static修饰局部变量之后把局部变量变成静态变量.当方法执行完之后这个变量不会被回收.下次再执行这个方法的时候这个 ...

  10. oc总结 --oc基础语法相关知识

    m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...

最新文章

  1. vue keep-alive解决关闭标签动态缓存问题
  2. 由web程序出现乱码开始挖掘(Bom头、字符集与乱码)
  3. 单词搭配用法查询网站
  4. python怎么设置回文数_python如何写一个函数判断回文数?
  5. 【转】WebService 的创建,部署和使用
  6. Jmeter之app性能测试(ios,android)
  7. 简单操作去除亿图流程图制作软件(试用版)的水印
  8. 贵州最新建筑八大员(土建)模拟真题集及答案解析
  9. LibreELEC(kodi)基本设置
  10. 深入浅出MySQL规范
  11. Mangos地区代码
  12. 基于JavaFx的通讯录
  13. mysql判断叠字_格律诗的八大语法特点
  14. 对归并排序的浅薄理解
  15. 中小企业在管理中常见的几大问题
  16. 词根、词缀笔记(三)
  17. matlab对信号积分,对信号求积分 - Simulink - MathWorks 中国
  18. vue滚动监听插件 vue-waypoint
  19. sql left join on 多条件_提高SQL语言能力必会的知识点
  20. ninja: build stopped: subcommand failed.

热门文章

  1. networkComms 通信框架之 消息处理器
  2. IIS网站的应用程序与虚拟目录的区别及应用
  3. Spark standalone运行模式(图文详解)
  4. curl针对HTTP的相关使用方法
  5. stl算法:next_permutation剖析
  6. Enterprise Solution(2.2.20130525) 解决方案配置与源代码下载
  7. 删除重复记录10.22
  8. mysql中set和enum使用(简单介绍)
  9. WebSocket消息推送(实现进行聊天)和WebSocket简介
  10. 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。报错...