Random Tech Thoughts

The title above is not random

我的第一个 OS X 程序 PinYinNick

去年买了 Dialvetica 却发现这个应用不支持用拼音搜索。十一回家的时候写了个汉字转拼音的库,跟作者联系希望能加入拼音的支持。未果,失望之余也无他法。后来了解到 MacRuby 可以直接调用 Cocoa Framework,写了个 Ruby 脚本给所有联系人添加了拼音缩写,在 Dialvetica 里打开昵称搜索后用的也挺欢的。一个没想到的好处是其他程序比如 Address Book 里要找联系人也可以用昵称,iPhone 上凡是搜索联系人的地方也都能用拼音缩写。

我那个 Ruby 脚本只能在装了 MacRuby 的机器上用。这次五一回去的时候学了下 Cocoa 编程,写了个 native 的程序来做这事。

代码在 Github 上,项目为 PinYinNick。编译好的文件也已上传,可点此下载。欢迎使用。

我几乎从来不写 GUI 程序,写这个程序的过程中得到了不少以往没有的体验。自从不碰 Java 以来一直都是用 Vim 写代码,这次觉得有个好用的 IDE 还是能提高不少效率的。 Interface Builder 真心好用,跟 Cocoa 的 key value coding/observing 结合使可以少写很多代码(当然这个程序的界面还是相当简单的)。静态程序分析对代码的检查的确可以避免一些错误,我刚开始用 ARC,有些内存管理的问题 Xcode 直接提示我解决掉了。最大的缺点是 Xcode 4.3 挺容易崩溃的。

虽然我没什么 GUI 编程的经验,不过 Cocoa 用起来还算顺手,感觉很方便、功能很强大。(比本科时用 Java Swing 方便太多了。)或许以后会再尝试写些程序来满足自己的需求。

Comments