【笔记】《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》

本文介绍了Objective-C中const、static和extern的使用,强调了在实现文件中使用static const定义常量的重要性,以及它们如何在代码中优化常量的声明和使用。文章还提醒开发者注意类对象的单例性质,使用类型信息来判断对象类型,并给出了关于命名、属性设置、Block、GCD和Foundation框架的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该书最令我受益匪浅的是OC对象间互动及关系,涉及到的具体实现,填补了一直以来单纯的做开发而不懂具体过程这一空白部分,也看到了要写出优秀的易于扩展的代码,这条路要学习的东西还很多。

  • 为减少编译时间,把只需要类名不需要细节的类写为@class
  • 为简洁,安全(数组插入nil时易于查错):多用字面量快速创建对象 例@1
  • 多用类型常量代替#define:
 例:使用static NSString * const account = @"account" 来代替:
#define XMGAccount @"account" .
注意:不要用预处理定义常量,在.m中使用static const 定义只在实现文件(编译单元内)中可见的常量。

[const,static,extern)的使用在文底,见附1]

  • 读取实例变量采用直接访问,设置实例变量的时候通过属性来做。

  • 理解对象等同性: == 和 isEqual 以及 isEqualToString 的不同

  • 每个OC对象实例都是指向某块内存数据的指针,所以类型后面加‘*’,而id类型本身就是指针。没有*的实例存放在栈区

  • 类对象是单例,可以精确判断对象是否为某类实例的方法为: if ([object class] == [某个类 class]),尽量使用类型信息查询方法(isMemberOfClass对象是否为某个特定类的实例)(isKindOfClass对象是或否为某类或其派生类的实例)来确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值