Подтвердить что ты не робот

Cocoa против Cocoa Touch - Какая разница?

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

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

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

4b9b3361

Ответ 1

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 с небольшими изменениями/без изменений и что потребует некоторой работы для переноса между ними, но это не так сложно.

Ответ 2

Платформа приложений для
я) Cocoa является платформой приложения для Mac OS X.
ii) Cocoa Touch - это платформа приложений для iPhone и iPod Touch.

Каркасы
я) Cocoa: основа и AppKit.
ii) Cocoa Touch: основа и UIKit

Отсутствие определенных классов
У Cocoa есть NSHost, а у Cocoa Touch нет

API
i) Cocoa: у всех классов, используемых в Cocoa, есть префикс NS Пример: NSTextField
ii) Cocoa Touch: классы, используемые в Cocoa, имеют префикс UI Ex: UITextField

Паттерны MVC
i) Cocoa: Cocoa имеет несколько альтернативных шаблонов проектирования - в дополнение к MVC
ii) Cocoa Touch: iPhone SDK имеет усиленную систему MVC, которая работает лучше, чем стандартная MVC в Cocoa

Другие отличия
Существуют также различия в жизненном цикле приложений, песочнице, использовании памяти

Ссылки:
http://teks.co.in/site/blog/cocoa-vs-cocoa-touch-beginners-guide/ http://iphonenativeapp.blogspot.in/2011/02/difference-between-cocoacocoa-touch-and. html https://iphonecodecenter.wordpress.com/tag/difference-between-cocoa-cocoa-touch/

Ответ 3

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

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

Ответ 4

В терминах import в Swift

import Cocoa в приложении Mac OSX такое же, как

import AppKit
import CoreData
import Foundation

тогда как мы не можем import CocoaTouch в iOS

Ответ 5

Cocoa по сравнению с Cocoa Touch-

Cocoa - это платформа приложений, используемая для Mac OSX,

Cocoa Touch - это платформа приложений, используемая для iPhone и iPod touch

Cocoa - Foundation + AppKit Framework,
Cocoa Touch - Foundation + UIKIT Framework

Ответ 6

1) Cocoa, который включает фреймворки Foundation и AppKit, используется для разработки приложений, работающих в OS X.

2) Cocoa Touch, который включает фреймворки Foundation и UIKit, используется для разработки приложений, работающих на iOS.