gpt4 book ai didi

c++ - 为什么 UIKit 或 Cocoa 必须用 Objective-C 编码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:22 24 4
gpt4 key购买 nike

定期发表模棱两可的声明,即 Objective-C 是创建 UIKit 及其前身 Cocoa 所必需的,但很少对其进行澄清或详细说明。与消息转发隐约有关。但是所有用户界面都会转发事件,无论它们是用什么语言编写的。所以我现在要问:Objective-C 的哪些特定方面对于 UIKit 或其前身 Cocoa 的实现至关重要,而 C++ 或 Java 也无法提供这些方面?

最佳答案

方面是后期绑定(bind)和动态输入的能力。

这个需求有几个例子,但最清楚的是响应者链。尝试用 Swift 编写它(不使用 Objective-C 或 Objective-C 的 RTE。)继续吧!

不,不是所有语言。 IE。在 C++ 中,他们必须添加信号和槽以使该语言对现代 UI 编程有用。基本上每一种没有动态绑定(bind)的语言——至少作为回退——都没有用处。

  • Swift 使用 Objective-C 作为动态开门器。
  • C++ 使用信号和槽。
  • C# 有委托(delegate)。

顺便说一句:GUI的概念和动态调度的概念是同时在同一个地方发明的。也许这是有原因的。

关于c++ - 为什么 UIKit 或 Cocoa 必须用 Objective-C 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46042922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com