对a recent edit I suggested的拒绝让我怀疑我认为我在Objective-C上所知道的事情。
我的假设是UIViews是iOS的一部分,iOS是Objective-C的后代,而Objective-C没有任何视图的默认工具包。
我尝试了一些谷歌和Stack Overflow搜索,但结果似乎不值得信赖,主要是关于UIViews。 Wikipedia seems to mention nothing about this。
Objective-C有观点吗?或者,正如我之前所假设的,这是一个常见的误解?
答案 0 :(得分:6)
我看到的问题是iOS不是Objective C的后代。
iOS是操作系统(如Windows Linux OSX),而Objective-C是一种编程语言,虽然是大多数iOS和OSX应用程序编写的。但是有用Python和其他语言编写的iOS应用程序,
iOS本身没有视图 - 这些是Cocoa-touch框架的一部分,Cocoa-touch框架是一组在iOS上运行的库,可以使用Objective C代码调用。虽然在程序员的实践中,如果你只是为iOS设备编写,在iOS和Cocoa touch中调用代码之间的区别并不是很明显,在OSX中拆分更清晰,你可以使用OSX调用编写代码或者可以使用Cocoa框架。
如上所述,这些观点是Cocoa触控框架的一部分。这可以通过包括Objective-C在内的任何语言调用。大多数语言不包括将GUIS编写为自身的一部分的能力,他们通常使用单独的库来执行此操作。例如,Objective C本身没有GUI库,但已经为iOS,Cocoa和Carbon编写了Cocoa touch(虽然主要使用C绑定),OSX和GNUStep用于Windows和Unix,如操作系统(以及历史上NeXTStep,OpenStep,Rhapsody,基本上早期版本的Cocoa,在各种操作系统和Stepstone的ICPak 201上)
答案 1 :(得分:1)
Objective-C是开源编程语言。 UIKit(iOS)和AppKit(Mac OS)提供了视觉元素 - 这不是开源的。
Objective-C本身没有UI,这是由其他框架提供的。
答案 2 :(得分:0)
据我所知,obj-c的观点是UIKit框架的一部分:check here
用于在iOS上构建GUI应用程序。
我认为您不能在其他obj-c应用程序中使用此框架,但在iOS上。可能还有其他框架可以使用视图。
编辑:是的,@Mark的好点是,您将操作系统与编程语言混淆