详解Mac Os Cocoa框架概述

移动开发 iOS
本文介绍的是详解Mac Os Cocoa框架概述,主要是爱对cocoa框架进一步的去了解,先来看内容详解。

详解Mac Os Cocoa框架概述是本文要接的内容,很详细的介绍了cocoa框架,不多说了,先来了解内容。本文主要讲一下从linux命令行程序员转变过来的程序员要如何入门。

1. 以前在linux命令行下写代码的时候,只需要知道几个系统调用,libc的库函数,就可以自己随心所欲的写代码来完成需要的功能。但在cocoa下就不行,他们是自包含,能够完整运行的代码,咱们一行代码都不加,他们也能正常运行。也就说在cocoa下,程序的主框架是定死了的,不能由程序员修改,程序员需要做的,就是在cocoa指定的地方加上“hook”,只有在这些hook上加上我们自己的代码,这样cocoa框架才能调用我们自己的代码,来实现各种各样的功能。cocoa编程实际是一个在为cocoa框架添砖加瓦的过程。

2.在图形界面下编程,引入了新的概念,叫design pattern,名字很抽象,但具体点来说,就是为了解决某种问题,而创造的一种编程方式。比如cocoa下很重要的有MVC,delegate, target-action等模式,这些模式都是为了解决某类编程问题,比如MVC这种设计模式,是为了解决图形化编程的时候,让class的设计更清晰,delegate是为了方便扩充一种控制类(controller class)的一种设计模式。

这样说可能难以理解,如果熟悉了cocoa的教程再回过头来看,就会发现理解各种design pattern是理解cocoa的关键,因为这些design patter解释了在哪里添加自己的代码以及为什么要再那里添加代码。

3。在cocoa框架下,程序的驱动是各种消息,也就是程序的***目的就是为了响应处理系统或用户对界面的操作产生的消息。消息传递的路径可以参考apple的cocoa fundamentals guide。那各种class是怎么相应这些消息的呢(也就是我们的hook怎么加到这个框架中呢)?主要有以下几种方式

通过sub class的方式扩展view控件,重载或添加新的消息响应函数

通过delegate扩充view控件,因为view获得消息以后,都会把消息还递给自己的delegate notification centers等

4.开发mac/ios程序一般使用xcode+interface builder来做的,这两个程序是什么关系呢?简单的说,xcode是源代码编辑环境,而interface builder是运行时的编辑器。为什么这么说呢,回忆一下咱们编程都时在干什么?定义对象模版(声明class)+生成对象+处理对象之间的关系。

这些动作在xcode环境中都是可以通过敲代码的方式完成的,那么为什么还需要用interface builder呢?interface builder实际上时用来完成后两项任务的,也就是生成对象+处理对象之间的关系。interface build处理这两项任务有天然的优势,就是可以用图形化拖拽的方式来完成。所以用它来创建程序的界面涉及到的对象直观又方便。

cocoa框架方面的入门知识就是这些,掌握呢这些东西以后,其他的就需要去学习cocoa提供的class,并思考怎么组合这些class来完成自己的工作,就是一个搭积木的过程。

小结:详解Mac Os Cocoa框架概述的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-02 13:58:18

Cocoa 框架 Mac OS

2011-07-07 13:51:24

Cocoa 框架

2011-06-17 16:23:49

Cocoa苹果

2011-08-10 18:47:18

Cocoa字符串

2011-07-08 18:03:30

Cocoa Touch 网络

2011-07-20 14:41:53

Cocoa Zip 框架

2011-06-15 16:11:51

UIKitCocoa TouchiOS

2011-08-15 14:47:28

Cocoa嵌入资源文件

2011-07-26 15:29:36

Cocoa 模式

2011-08-15 14:27:51

CocoaRunLoop

2011-07-25 14:32:40

Cocoa 框架 函数

2011-08-08 09:51:52

Cocoa 框架

2011-05-11 15:19:01

CocoaObjective-C

2011-08-15 15:56:29

Cocoa编程模块

2011-05-31 15:41:00

Cocoa TouchCocoaiOS

2013-01-14 13:21:09

Firefox os

2011-07-18 10:03:18

CocoaQt

2011-08-10 16:27:07

Cocoa TouchPlist

2012-02-17 09:21:22

Mac OS X

2010-01-11 09:58:33

谷歌苹果Chrome OS
点赞
收藏

51CTO技术栈公众号