近几日在招聘网站上看到IOS招聘的要求中经常出现要求会Cocoa框架、Cocoa Touch框架、Foundation框架等等,那到底以上这些框架是啥,他们有什么关系呢,在教室里闲来无事总结一波。
Cocoa框架是指Foundation框架和Application kit框架;Cocoa Touch框架是指Foundation框架和UIKit框架。Cocoa框架用于Mac OS X桌面和笔记本电脑的应用程序的开发,而Cocoa Touch框架用于iPhone与iTouch的应用程序开发。
Cocoa和Cocoa Touch框架都有Foundation框架,Foundation框架提供了大量的类,可以用于处理字符串、集合、内存管理、文件系统、存档等;而在Cocoa Touch框架下,UIKit代替了AppKit框架,UIKit框架也提供了很多类,可以为很多相同类型的对象提供支持,如窗口、视图、按钮和文本域等。
iPhone的技术层包括四个部分:Cocoa Touch层、多媒体层、核心服务层、核心OS;
Cocoa Touch层的关键技术包括:多任务、打印、数据保护、苹果推通知服务、本地通知、手势识别器、标准系统View Controller等
Cocoa Touch层包含的一些框架:UIKit、MapKit、GameKit、Message UI\Address Book UI\Even Kit UI、iAD;
多媒体层: AV Foundation、CoreAudio、CoreGraphics、Core Text、Media Player、OpenGLES;
核心服务层:Account 、Adress Book、 CFNetwork、Core Data、Foundation、StoreKit、CoreLocation、EVenKit;
核心OS层: Accelerate、System、Security;
Cocoa中包括了很多的类,这些类的使用帮助我们构建了我们常用的APP的界面和实现了最直观的一些功能。
核心类: 1.根类(NSObject)、2.应用程序类(UIApplication)、3.窗口类(UIWindow)、4.视图(UIView)、5.响应者(UIResponder)、6.屏幕控件(UIControl)、7.视图控制类(UIViewController)
数据类型类:1.字符串(NSString\NSMutableString)、2.数组(NSArray\NSMutableArray)、3.字典(NSDictionary\NSMutableDictionary)、4.数字(NSNumber\NSDecimaNumber)、5.日期(NSDate);
UI界面类:1.标签(UILabel)、2.按钮(UIButton)、3.开关(UISwith)、4.分段控件(UISegmentedControl)、5.文本框(UITextField\UITextView)、6.选择器(UIDatePicker/UIPicker)、7.弹出框(UIPopoverController)、8.UIColor类、9.UITableView类;
最后嵌一个在网上找的图,里面是IOS开发过程中常用的UIKit类