Objective-C 碎碎念 7

本文为大地瓜原创,欢迎知识共享,转载请注明出处。
虽然你不注明出处我也没什么精力和你计较。
作者微信号:christgreenlaw


property修饰符

  1. 相同类型的修饰符不能同时使用。
  2. 不同类型的修饰符可以结合使用,中间用逗号隔开
  3. iOS开发中只要写了property,马上写上nonatomic

readonly 只生成getter
readwrite getter和setter都会生成,什么都不写默认就是这样

getter 给getter起名
setter 给setter起名//这两个可以同时用,它们不是互斥关系

retain 会生成内存管理的方法
assign 不会生成内存管理的方法,默认就是这个

@class指令

#import是一个预编译指令,会将""中的内容拷贝到import所在的位置
#import有一个特点,若""中的文件发生变化,则会重新拷贝一次

@class只是告诉编译器,@class后面是一个类,而不会做任何拷贝操作
但也正是由于它没有做拷贝操作,编译器并不知道这个类都有什么属性和方法,需要在.m中正式使用时再#import一下

在类似于.h的情况下,如果只需要使用类型而不需要使用实例对象做一些操作的话,可以使用@class来提升编译效率

@class也可以用来处理循环拷贝的问题,若A.h中import B.h, B.h中import A.h,则会循环拷贝。此时可以在.h中使用@class,.m中使用import,既提升编译效率,又不会引用循环。

实际上,建议:任何时候优先考虑@class,在真正需要使用某个类做操作时再使用import。尽可能提高效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容