关于阅读EOC的一些笔记

  •        

     EOC:<Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法>

        最近在阅读的一本书,对于ios初级开发者想要进一步理解OC这门语言有很大的帮助。

      今天看了本书的第三章《接口与API设计》和第四章《协议与分类》。先来说说第三章,里面包含本书的第15~22条编程技巧。

       第15条:多用前缀(例如公司、程序应用名或二者的关联名)来命名类,例如:EOCLibrary;

       第16条:提供“全能初始化方法”,说实话,这节我看得有点云里雾里的   

       第17条:复写description发昂发有助于调试,还有debugdescription是在调试器中控制台命令打印对象才调用的;

       第18条:多用readonly属性,主要是打包给外部使用的时候不让外部设置内部属性吧,这里还涉及到“竞争条件”的问题,也就是在对象内部写入某属性时,对象歪的观察者也正读取该属性,也提到了将数据存储操作设为同步操作的解决方法;

第19、20条:都是将命名规范的,一个是方法名要尽量清晰明了,另一个给私有方法加一个前缀,比如:

-(void)p_privateMethod{
}
第21条:Object-C的错误模型:OC里的异常不同于其他语言,异常只应该用于极其严重的错误,而一般的错误应该用NSError来处理

第22条:NSCopying,如果想让自己的类支持拷贝功能,就需要实现NSCopying协议。

-(id)copyWithZone:(NSZone *)zone{
    
    
}

其中还有一个概念就是深复制和浅复制深复制在复制对象自身时将其底层数据也一并复制也就是属性之类的一并复制吧。。

浅复制只复制容器对象本身不复制里面的数据。

我们一般的“copy”都是浅复制要使某个对象实现深复制就需要实现一个深拷贝的方法。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值