我是 Objective-C、Cocoa、Xcode 和 Interface Builder 的新手。我过去有一些 C 背景,以及相当多的 RealBASIC 经验。
我正在阅读 Mark 和 LaMarche 的 iPhone 3 Dev 书籍,我真的有点惊讶于有些事情是多么乏味。也许有人可以为我阐明这一点。我的问题真的是,为什么看似简单的动作的过程会涉及如此复杂的步骤?我以后会爱上的复杂性有什么好处吗?或者这只是一个无法避免的残酷事实?
例如,在 RealBASIC 中,如果我想在文本框中显示滑块的值,我只需添加:
myTextBox.text = mySlider.value
到滑块的 Changed 事件。我可以在不到 1 分钟的时间内完成编程。
在 Xcode/Interface Builder 中,我必须为文本框和滑块键入一个声明,然后为每个都键入一个属性/出口声明,然后为 ValueChanged 创建一个方法声明和实现,然后设置一个(相对)使用 initWithFormat 将滑块的整数值复杂类型转换为 NSString。然后我必须返回到 Interface Builder 以将控件与我输入的控件和方法出口链接起来。我看不出这如何在不到 10 分钟的时间内完成。也许5。
那么,这样做有什么好处呢?为什么 Interface Builder 不自动创建或至少建议控件声明和@property 语句,以及方法声明和实现?为什么不能在 IB 中双击滑块为您提供事件列表并自动将框架方法插入到您的 .h 和 .m 文件中?为什么 IB 甚至必须是一个单独的应用程序?
我愿意接受其中一些是我对所有 Xcode 的不熟悉,但这真的和开发环境一样高效吗?
如果这是一个死马,火焰诱饵的话题,对立的双方都处于完全的仇恨状态,我深表歉意。如果是这样,请说“是的,就是这样”并继续前进。
谢谢,-罗伯