Какао по сравнению с Касанием Какао - Каково различие?

Я изучаю разработку iOS в Objective C, и я нашел много примеров кода.

Некоторые из них, тем не менее, говорят, что они только для Mac OS X (не iOS).

Кто-то может объяснить мне, каково различие между Касанием Какао и Какао (на уровне библиотеки), так, чтобы я знал, какой код будет работать и что не будет работать?

43
задан Prateek Gupta 11 September 2019 в 11:52
поделиться

2 ответа

Cocoa обычно называют комбинацией фреймворков Foundation и AppKit, а Cocoa Touch - комбинацией фреймворков Foundation и UIKit.

Cocoa и Cocoa Touch располагаются поверх других наборов фреймворков для создания стеков API. Другими слоями являются Media, Core Services и Core OS.

Основное различие между Cocoa и Cocoa touch заключается в том, что классы и API пользовательского интерфейса не такие же, как в Mac OS X и macOS, поэтому вместо NSTextField у вас есть UITextField. Многие классы имеют одинаковую функциональность и могут быть легко перенесены простым изменением имени класса, хотя большинство из них потребуют дополнительных изменений, но обычно ничего слишком тяжелого.

Есть также некоторые различия между фреймворками Foundation в Cocoa и Cocoa Touch, чаще всего отсутствуют классы, например, в Cocoa есть NSHost, а в Cocoa Touch нет.

Вы узнаете больше нюансов между ними и вскоре сможете инстинктивно понять, что будет работать на iPhone с небольшими изменениями, а что потребует некоторой работы для переноса, но это не так сложно.

79
ответ дан 26 November 2019 в 22:35
поделиться

Раздел Переход с Cocoa Touch в Обзоре технологий iPhone OS дает хороший обзор различий со ссылками. к более конкретным документам для каждого слоя.

Большая разница в уровне пользовательского интерфейса. На Mac у вас есть фреймворк AppKit, на iPhone - UIKit. Меньшие различия есть в структуре Foundation (ссылка на документ выше).

4
ответ дан 26 November 2019 в 22:35
поделиться