Cocoa与Cocoa Touch-有什么区别?

Ale*_*ian 43 cocoa cocoa-touch objective-c

我正在使用Objective-C学习iOS开发,我发现了很多代码示例.

但是,他们中的一些人说他们只适用于Mac OS X(不是iOS).

有人可以向我解释一下Cocoa和Cocoa Touch之间有什么区别(在图书馆一级),这样我才知道哪些代码可以工作,哪些代码不起作用?

Jas*_*ien 79

Cocoa通常被称为Foundation和AppKit框架的组合,而Cocoa Touch是Foundation和UIKit框架的组合.

Cocoa和Cocoa Touch位于其他框架集合之上,以创建API堆栈.其他层是媒体,核心服务和核心操作系统.

Cocoa和Cocoa触摸的主要区别在于UI类和API与Mac OS X不同,因此您使用UITextField代替NSTextField.许多类共享相同的功能,只需更改类名即可轻松移植,但大多数类需要更多更改,但通常不会太重.

Cocoa和Cocoa Touch中的Foundation框架之间也存在一些差异,最常见的是缺少类,例如,Cocoa有NSHost而Cocoa Touch没有.

你将会更多地了解两者之间的细微差别,很快就能够本能地知道什么在iPhone上有什么作用,只需要很少/不需要修改,什么需要一些工作来进行移植,但这并不困难.

  • 还有另外一个区别:Cocoa用于Mac开发; Cocoa Touch适用于iOS开发.如果某些东西只在Cocoa中,你不能在iOS上使用它,如果某些东西只在Cocoa Touch中,你就不能在Mac OS X上使用它. (76认同)
  • 彼得你应该把它变成答案., (7认同)
  • 彼得你应该把它变成"一个"答案.抱歉,是我的错.Jasa的答案很棒.彼得更关注它的真正含义.至少他值得赞成. (3认同)

San*_*kar 28

应用程序框架对于
i)Cocoa是Mac OS X的应用程序框架.ii
)Cocoa Touch是iPhone和iPod Touch的应用程序框架.

框架
i)Cocoa:Foundation和AppKit.
ii)Cocoa Touch:Foundation和UIKit

没有某些类
Cocoa有NSHost和Cocoa Touch没有

API
i)Cocoa:Cocoa中使用的所有类都有NS前缀Ex:NSTextField
ii)Cocoa Touch:Cocoa中使用的类具有UI前缀Ex:UITextField

MVC模式
i)Cocoa:Cocoa有多种替代设计模式 - 除了MVC
ii之外)Cocoa Touch:iPhone SDK具有增强的MVC系统,其性能优于Cocoa中的默认MVC

其他差异
在应用程序生命周期,沙盒,内存占用量方面也存在差异

链接:
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/

  • 您可能想要命名您在此汇总的来源:http://teks.co.in/site/blog/cocoa-vs-cocoa-touch-beginners-guide/. (2认同)

Jos*_*zzi 7

迁移从可可触摸的iPhone OS技术概览部分提供的链接到每一层更具体的文件的差异很好的概述。

最大的区别是 UI 层。在 Mac 上,你有 AppKit 框架,在 iPhone 上,你有 UIKit。较小的差异在于 Foundation 框架(在上面的文档中链接)。


onm*_*133 5

import就Swift而言

import Cocoa在 Mac OSX 应用程序中与

import AppKit
import CoreData
import Foundation
Run Code Online (Sandbox Code Playgroud)

import CocoaTouch而我们在 iOS 中不能

  • 问题询问的是框架之间的区别,而不是哪些框架可以导入到哪里。 (2认同)