Почему UIKit или Какао должны быть закодированы в Objective-C?

Периодически делается неоднозначное утверждение, что цель-c была необходима для создания UIKit. & его предшественник Какао, однако это редко разъясняется или уточняется. Что-то неопределенно связанное с пересылкой сообщений. Но все пользовательские интерфейсы пересылают события независимо от того, на каком языке они написаны. Поэтому я спрашиваю сейчас: какие конкретные аспекты Objective-C были критически важными для реализации UIKit или его предшественника Cocoa, который C ++ или Java также не могли бы обеспечить ?

2

Решение

Аспект заключается в способности поздно связываться и динамически печатать.

Есть несколько примеров необходимости, но самый ясный — цепочка респондента. Попробуйте написать его на языке Swift (без использования Objective-C или RTE Objective-C.) Вперед!

И нет, не на каждом языке. И. е. в C ++ они должны были добавлять сигналы и слоты, чтобы сделать язык полезным для современного программирования пользовательского интерфейса. В принципе, любой язык без динамического связывания — по крайней мере, как запасной вариант — для этого бесполезен.

  • Swift использует Objective-C в качестве динамического открывания двери.
  • C ++ использует сигналы и слоты.
  • C # имеет делегатов.

Кстати: концепция GUI и концепция динамической диспетчеризации были изобретены в одном месте в одно и то же время. Может быть, есть причина для этого.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]