编写高质量iOS代码(三)

1.使用前缀避免命名空间冲突
a.苹果公司保留了所有的 两个字母的前缀
b.使用第三方库,也要加上前缀 避免冲突
2.提供 全能的初始化方法
a 提供一个全能初始化方法,其他初始化方法均应调用此方法
b 若子类全能初始化方法与超类不同,或者不适用,则应该覆写超类方法
3.实现description 方法
a 可以用NSDictionary来实现 格式化输出
b debugDescription 是在LLDB的po(print-object)命令调用的
4.尽量使用不可变对象
a 若某属性仅用于内部修改,可在分类中将 readonly属性 扩展为 readwrite
b 不要把可变的collection作为属性公开,应提供相关接口,不易从底层直接修改数据
5.使用 清晰的而协调的命名方式
a 返回值是新创建的,第一个词应该是返回值的类型,除非前面还有修饰词,属性的存取方法不遵循这种规则
b 把表示参数类型的词 放在参数前面
c 如果方法要在当前对象上执行操作,则要包含动词,需要参数,则动词跟上名词
d 不要使用str简称 要使用string全称
e BOOL属性获取方法应加上is,非属性的返回值是BOOL的方法,前缀用has 或者 is
f get 留给用“输出参数”保存返回值的方法
6.为私有方法加前缀
7.理解 objective-C的错误模型
a 异常 NSException
b 错误 NSError 委托方法 或者 输出参数
8 NSCopying协议
a 若想令自己所写的对象有拷贝功能,必须实现NSCopying协议
b 若对象有可变和不可变版本,需分别实现NSCopying 和 NSMutableCopying协议
c Foundation框架下所有collection类 默认执行 浅拷贝
d 需要深拷贝 可考虑专门写一个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值