Каковы основные различия между Cocoa и CocoaTouch? - PullRequest
9 голосов
/ 26 февраля 2009

Я сейчас изучаю Objective-C и Какао. Далее я хочу придерживаться программирования на iPhone. Я получу книгу для этого, конечно. Но я хотел бы знать уже сейчас, в чем основные различия между Cocoa и Cocoa Touch.

Ответы [ 5 ]

8 голосов
/ 26 февраля 2009

Основные понятия касания Какао и Какао схожи в том, что существует иерархия представлений и цепочка респондентов. Однако архитектура UIView гораздо более тесно связана с более новыми технологиями, такими как CoreAnimation.

Доступные типы элементов управления также меняются.

Кроме того, Cocoa touch представляет концепцию UIViewControllers, которая создает хорошую абстракцию для размещения кода, который взаимодействует с вашей основной программой и конкретным представлением, которым она владеет. Как отметил Чак в комментариях, это было добавлено в Какао в Mac OS X 10.5, поэтому в зависимости от того, как вы узнали Какао, вы можете или не можете знать о них.

Наконец, как уже упоминалось, сборщик мусора в настоящее время не существует на iPhone.

6 голосов
/ 26 февраля 2009

Чтобы добавить к тому, что сказали другие, большая часть основы поделена между Cocoa Touch и Cocoa. Например, классы типов данных, такие как NSString, и классы коллекций, такие как NSArray, идентичны в обеих платформах. Другие классы, такие как NSURLConnection, практически одинаковы. Другие высокоуровневые фреймворки, такие как Core Data, например, отсутствуют в Cocoa Touch.

Также Cocoa Touch был разработан с Objective-C 2.0. Таким образом, UIKit, аналог платформы Cocoa Touch для AppKit in Cocoa, широко использует свойства. Во многих отношениях Cocoa Touch более современен, чем Cocoa. Cocoa Touch также имеет тенденцию использовать синтаксис Objective-C @protocol вместо синтаксиса более старой категории для реализации того, что Apple называет «неформальными протоколами» (то есть протоколами, где некоторые методы являются необязательными)

3 голосов
/ 24 февраля 2011

Objective C - это динамический язык программирования - немного похожий на C ++ и немного похожий на Java.

Какао - это платформа приложений для Mac OS X.

Cocoa Touch - это платформа приложений для iPhone и iPod Touch, очень похожая на Cocoa.

1 голос
/ 26 февраля 2009

В основном вам доступны только фреймворки. Для разработки десктопов вы бы использовали AppKit, а для разработки iPhone - UIKit. UIkit, очевидно, включает в себя функции мультитач и т. Д.

Когда вы приступите к разработке для iPhone, вот часто задаваемые вопросы, которые могут пригодиться: http://www.plaidworld.com/iphonefaq.txt

Edit: И да, как упоминалось выше, хотя Objective-C 2.0 доступен для разработки на iPhone, GC

нет
0 голосов
/ 26 февраля 2009

Из того, что я понимаю, одно из основных отличий заключается в том, что у какао есть своя собственная версия Сборщика мусора (управляемая память, как .NET), а у cocoaTouch нет.

...