Objective-C在Cocoa开发中的动态优势?

Mav*_*ick 5 cocoa objective-c

因此,根据我的理解(其中一个),Obj-C最大的诱惑是动态的消息传递运行时.

这个和其他功能对Cocoa开发有何益处?为什么Obj-C用于Cocoa开发而不是C++/C?

基本上我试图理解这些语言功能在实际解决OSX或iOS应用程序方面的特定问题时实际上是如何有益的.

Bar*_*ark 7

在动态性较差的语言中,Cocoa框架的主要部分很难(当然不是不可能).在编译时绑定(方法调用)语言中,键值编码(使用动态调度和运行时类以及层次结构修改)很难做到.Core Data的属性getter/setter的合成是Objective-C动态消息传递(和动态运行时)的类似示例,使事情变得更加容易.

Objective-C的动态消息传递专门用于解决大型项目中的依赖性问题.虽然像C++这样的编译时绑定语言需要将依赖模块重新编译在一起,但Objective-C的运行时绑定消息传递意味着您不必总是重新编译所有内容.在NeXT决定使用Objective-C(当时是不成熟的C++)时,这是开发人员理智的一个主要因素.它仍然使大型系统更易于管理(但是,在C++或Java或者......中,这肯定不是不可能的).

  • Cocoa-Java桥的寿命和KVO/KVC的流行完全正交.... (2认同)