Monthly Archives: November 2012

10个迷惑新手的Cocoa&Objective-c开发问题

  1. language background
  2. run­time
  3. thread
  4. run­loop
  5. protocol, del­e­gate
  6. event respon­der
  7. mem­ory management
  8. class heritage, category and extensions
  9. drawing issue
  10. design pattern

首先请谅解我可能使用很多英文,毕竟英文资料将来会是你的主要资料来源。

这篇教程将描述一些我见到的众多Cocoa开发新手遇到的问题和障碍。并不会手把手教你:“这个函数什么意思,哪个函数如何使用”,而是站在一定高度,统观各种技术所处的角色,让你不会迷失在各种技术细节中。在你继续深入学习MacOS编程之前,请停下脚步看清楚这些问题。如果你是新手,这个教程不要希望一次能看的非常透彻,学一定阶段反回来再看看又会有新的体会的。

Continue reading

LXFoundation for Cocoa programmers

做为一个 OSX 和 iOS 软件开发者,使用 Objective-C 和 Cocoa 开发应该算是王道。尽管 Apple 为开发者提供了一系列方便的类和函数,但是绝对所有 Cocoa 开发者都遇到过这样让人头痛的问题:

*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
*** setObjectForKey: object cannot be nil (key: username)

Cocoa 自带的容器 NSMutableArray 和 NSMutableDictionary 总是无法强壮的处理一些不正确的值。结果往往是导致程序轻则异常,重则崩溃。而更为难的是,当程序变得庞杂起来的时候,xcode 的 debugger 很难定位这样一个错误。

下面我在 GitHub 上发布一个我自己写的开源库 LXFoundation 目标就是解决这类问题。我已经把它用在了自己的软件中,目前表现稳定。 Continue reading