目前我正在学习Objective-C 2.我知道它被Mac开发人员大量使用,但我现在对学习语言的兴趣比在Mac OS X上开发的框架更感兴趣/ iPhone(基金会除外)。为了做到这一点,我想写一些中间*控制台应用程序,但我坚持想法。
大多数示例都是“编写具有getter / setter和打印函数的Fraction类”,这在C ++背景下并不是很具挑战性。我想要一些程序的通用示例,但我不希望它们包含任何Objective-C实现细节。我想弄清楚程序结构/编写我自己的界面并从那里学习语言。
总结:我很好奇Objective-C程序员为探索该语言而推荐的示例程序。
“中间”应用程序的一个例子就是“编写一个从命令行获取URL并返回返回数据中某个单词出现次数的程序:
example -url www.google.com -word search
答案 0 :(得分:2)
“Project Euler”是对这类事情的标准回应,但我觉得你对被告知要实现算法的东西不太感兴趣(因为这种知识更容易在语言之间移植)并且更感兴趣miniprojects将使您熟悉核心库。这是公平的吗?
如果是这样,IMO,您应该了解如何使用您希望用于认真工作的标准语言库来完成以下操作:
编程问题我建议那些:
答案 1 :(得分:2)
通过使用测试框架进行探索,我充分利用了Objective-C。我写了一篇关于它的简短blog post。您还应该围绕Objective-C使用的内存管理约定,引用计数需要一点时间来习惯,但如果责任明确分开,我的工作也很好(我也在我的博客上写过)。
通过在测试框架(GHUnit)上弄脏手,我能够以“传统”的方式学习更多关于语言的知识。当然,你需要一个小宠物项目,否则这种方法没有意义。
我不认为你的例子是一个非常好的主意,因为它要求你搞乱http连接,资源等,毕竟这是一个特定的框架。在这方面解析文本文件会更容易一些。使用单元测试框架具有以下优势:
您还应该研究测试框架实现,因为测试框架总是需要在某种程度上使用元数据。测试框架通常与隔离框架一起使用。它们基本上在运行时创建符合某些接口的对象,并充当具体对象的替身。查看它们的实现将教会您可以在Objective-C中完成的运行时操作(关键字:Method-Swizzling)