2

2014新年伊始:近期读过的好文推荐

 2 years ago
source link: https://www.isaced.com/post-242.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

2014新年伊始:近期读过的好文推荐

年过的也差不多了,有一段时间没写字了。今天写写最近看的一些文章,附带一点自己的看法和理解。

二进制的世界:原文

一篇编程基础知识的文章,讲解了C、OC中的各种位运算,引申到OC中的例子如十六进制颜色值通过位移转换到UIColor,还有动画中的UIViewAnimationOptions属性,另外这篇文章(Cocoa中的位与位运算)也可以看看。

Block 还是代理 (Blocks or Delegation) :原文 翻译

今天刚读到这篇文章,Block还是代理,也是我一直想问的一个问题。这篇文章适合多读几遍,会有不同层次深度的理解,文中从各方面比较 Block 和 Delegation ,通过窥探苹果的做法试图找到正确的道路,下面简单提炼一下要点:

  1. 大部分的代理协议都有一些消息。
  2. 一个对象只能有一个代理。
  3. 一些代理方法要有返回值。
  4. 过程 vs. 结果
  5. 速度(也许吧?)

在文中说到第四点的时候,有时候设计Block时,当一个方法有失败的情况下会有两个Block回调,作者认为不如使用一个Block回掉,然后在里面判断状态(如Error什么的),进行不同处理。看到这我也的确想不出为什么?哪点优于多一个Block。作者后面一个例子中看到[progressBar stopAnimating];的时候,我也恍然大悟,因为之前写过一些方法都是第一种多用一个Error Block,导致有些需要两个Block都要调用的代码会写两遍,这样说来确实有点鸡肋。但是看看AFNetWorking框架中几乎所有操作方法都有一个额外的Error Block,这究竟那种才是优良的设计呢?

Objective C中C99的使用 : 原文

原来一个小小的CGRect初始化还有这么多玄机。

NSArray enumeration performance examined 原文

NSArray枚举性能研究,比较了NSArray的4种枚举方式的性能,有详细的图表,文末也贴出了测试用的代码

  1. objectAtIndex: enumeration
  2. NSEnumerator
  3. NSFastEnumerator
  4. Block enumeration

Dev vs Dev: Convert Integer to Binary as NSString 原文

把一个整形转换为二进制位输出,这也是我以前在学校的时候遇见过一道笔试题,主要运用到了 & (位与) 和 >> (右移) 操作,文中介绍了好几种变种方法,有用C写的,也有Objective-C的,值得一看!

Tips for High Performance Collection Looping in Objective-C 原文 翻译-OSC

Objective-C 集合类型的循环再一篇深入评测,对比了NSArray、NSDictionary、NSSet的各种枚举、循环耗时。最后总结出 NSArray、NSDictionary、NSSet分别在哪些情况下适合使用哪种遍历方法。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK