【问题标题】:Need recommandations for Cocoa Tutorials for programatic development of Mac applications需要关于 Mac 应用程序化开发的 Cocoa 教程的建议
【发布时间】:2011-01-31 05:15:51
【问题描述】:

我是 Mac OS 应用程序开发的新手。我对 iPhone 应用程序开发非常熟悉。但我对在 Mac 应用程序中创建窗口、表格视图和其他东西感到困惑。我看到了一些使用 IB 教授这些东西的教程。但我想学习以编程方式进行这些操作。

在 iPhone 中,我们可以创建 View Controller 并将其添加到窗口或可以添加到窗口的导航控制器。我需要知道如何在 Mac 中做类似的事情。任何人都可以建议/推荐一些初学者教程,这些教程教授 Mac 应用程序的编程开发..

不要因为这个简单/非常基本/你认为最糟糕的问题而责备我。我一直在谷歌上搜索这个话题大约一周了。我无法找到我需要的东西。我一直很感激你的帮助。

谢谢大家..

【问题讨论】:

    标签: cocoa macos


    【解决方案1】:

    IB 没有什么神奇之处。除了以所见即所得的方式查看和编辑动态类型的能力之外,它没有添加任何功能。它使用类接口的所有功能,以及一些 Cocoa 内部(对您来说足够可见 - 诸如绑定和归档之类的东西)。

    最大的运行时差异在于对象(例如 NSViews)的创建方式。使用 nib,您可以取消归档 nib,而不是 [[MONView alloc] initWithFrame:r]

    如果您已经对语言/模式感到满意,那么您真的不需要太多 wrt 教程。通常,您只需查找具有相同名称的属性并在那里定义它。此外,您将实现自己的 initWith 方法,而不是 NSCoder+awakeFromNib 方法。一旦您了解了 IB 如何解压笔尖,这真的非常简单。

    所以...作为起点,我建议将功能性 nib 转换为功能性编程实现。在此过程中,您将不得不查找一些方法来了解如何操作和构建 NSView 图表——如何将您在 IB 中了解的内容转换为源表示。

    我真的不知道具体的资源,我的意思是它比你想象的要容易。当然,有一些 pub 简要地演示了这一点 - 但我知道的那些会在少数情况下快速演示它作为概念证明,然后使用 IB 继续教程。

    我所知道的最好的单一资源是 Cocoa Programming (Anguish/Buck/Yacktman) - 也许它已经过时或已经过修订。我知道的最后一个版本是 2002 年。

    最后,您可能会听到很多人告诉您使用 IB 是多么可怕的想法。如果你想做认真的开发并且你已经了解 IB,我认为这是一项很棒的技能,对我来说非常有用——尤其是对于复杂的应用程序和大型代码库。对于简单的应用程序,这并不重要。我很少创建/使用笔尖——我只是在大多数情况下以编程方式实现它。我发现它更干净、更快、更少冗余。另外,我有大量的自定义实现并使用 objc++,所以......当你离主线那么远时,IB 并没有那么大的帮助。

    祝你好运!

    【讨论】:

    • 感谢您的建议。我知道IB的用途。但是,作为一名学习者,我总是更喜欢自己编写代码以便更好地学习。
    • @Simon 如果您认真对待它,那很好。我认为这是中级和高级 Cocoa 开发人员的必备技能。不幸的是,情况并非如我所愿。如果您对特定方法有疑问,这些文档也很有帮助 - 它们在列表末尾提供了指向特定方法和类的相关示例代码的链接。但是,样本的彻底性、适用性和质量可能会有所不同,因此互联网搜索也很有帮助。很有可能,有人已经提出疑问或解决了问题,而这些问题的答案对你来说并不明显。
    • 感谢您的关注。即使我获得了有关如何以编程方式创建“Hello World”应用程序的教程,它也会很好。我正在努力如何开始以编程方式做所有事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多