iOS开发之Cocoa闲侃

  一直对Cocoa的概念很模糊,所以就去查了一些资料,搞一下清楚,做一下笔记。

Cocoa介绍

  资料查阅如下:

  • 苹果官方参考文档:Cocoa (Touch)
  • 维基百科:Cocoa && 维基百科:Cocoa Touch
  • Cocoa是什么???
    由上述三种资料可知,Cocoa是苹果为开发者提供的开发所需的一切工具类的组合以及相应的API,是Apple软件开发的环境,它包含了所有的Framework,其中最重要的两个是Foundation Framework和AppKit Framework。所以,可以把Cocoa理解为一个开发工具集的名字。【(Cocoa是针对PC端的Mac系统,而对于移动端iOS系统则为Cocoa Touch,Cocoa Touch是基于Cocoa,两者提供的Framework并不完全相同)】

Framework的级别层次结构

  Cocoa(Cocoa Touch)提供了开发者所需的所有Framework,但是这些Framework也是分层次结构的。作为移动端开发者,就以iOS系统作为参考了。
  根据苹果官方文档About the iOS Technologies,我们可以知道,iOS系统是通过分层服务来实现iOS应用软件来和底层硬件通信。不同层次的Framework提供不同层次的服务和技术。
  iOS技术实现的层次,从高层到低层(从用户层到系统核心层),依次时Cocoa Touch Layer(触摸层)-->Media Layer(媒体层)-->Core Services Layer(核心服务层)-->Core OS Layer(核心系统层),这几个层次所包含的Framework,可以参看iOS 系统结构思维导图,结构图如下:

注1:Cocoa Touch Layer只是一个层次,并不代表Cocoa Touch工具集,不要弄混了。
注2:从依赖角度来讲,低层(如:Core OS Layer)包括的Framework是高级别框架,高层(如:Cocoa Touch Layer)包括的Framework是低级别框架。因为高层包含的Framework是基于低层的Framework。所以,高层可以提供更复杂的服务和技术。所以苹果建议我们在开发中使用低级别Framework。

Framework的主要功能和包含的类

  这一部分包含的东西太多了,了解几个常用的就好。可以参考下列几篇文章。

以上都是个人见解,如果有什么错误,希望看到这篇笔记的,可以给出修正意见……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容