你能帮我理解一下Cocoa是什么吗?

时间:2010-08-24 03:20:15

标签: iphone cocoa cocoa-touch frameworks ios

我花了很多时间进入iOS开发。我花了很多时间熟悉objective-c和xcode。我花了很多时间仔细研究这些动作,却没有理解Cocoa的基本原理。

我一生都没有像一些人那样了解编码概念,当人们告诉我Cocoa是一个框架时,这对我来说并不是很重要。

有人可以承诺用简单的英语解释可可是什么吗?什么是框架?我作为一个有抱负的开发者应该如何使用它?它应该对我意味着什么?我花了很多时间试图从没有意义的定义中理解它,我想尝试一下,看看是否有东西可以点击。

感谢您的时间

2 个答案:

答案 0 :(得分:0)

想象一个类似于库的框架。所以让我们谈谈书籍。图书馆里到处都是书!在这种情况下,我们的书是我们的课程。现在,书籍上有讲述故事的页面,而且课程也是如此,它们被称为方法和属性。

基于以上所述,我们可以说库包含有助于我们做事的类。框架实际上只是一个打包的库。

当您写下以下内容时:

NSObject* foo = [[NSObject alloc] init];

以后再打电话:

[foo release];

你正在做的是使用Cocoa特有的内存管理部分。 +alloc是一个创建对象的类方法,-init是一个实例方法(+是指类方法,-是指实例方法 - 它们是如何定义的在Objective-C代码中)。同样,-release用于释放您之前创建的对象的所有权。

这三种方法是Cocoa的一部分。在NSObject书中。

我希望这很容易理解。

答案 1 :(得分:0)

除了包含库例程之外,框架通常会强制您的应用程序进入某种范例,例如要求您的应用程序以某种方式构建,和/或在您的应用程序中需要大量已定义的子例程/方法,框架可以调用。实际上,像Cocoa Touch这样的框架通常可以调用您的应用程序,远远超过您的应用程序可能会调用框架中的任何库代码。

学习框架的一个好方法是阅读许多示例应用程序的源代码,并尝试将应用程序逻辑与框架粘合剂分开。