XcodeiOS、XCode、Objective-C、Swif、Cocoa是什么?
XcodeiOS 是由苹果公司开发的手持设备操作系统。苹果公司在 2007 年 1 月 9 日的 MacWorld 大会上公布这个系统,随后于同年的 6 月发布了第一版 iOS 操作系统, 当初此操作系统的名称为“iPhone runs OS X”。最初设计是供 iPhone 使用的,后来陆续套用 到 iPod touch、iPad 以及 Apple TV 等苹果产品上。
iOS 8于2014年9月17号向用户推送正式版,支持iPhone 4S、iPad 2、iPod touch第五代及以后的设备。
Xcode是苹果公司提供的主要进行开发iOS、OS X应用程序的IDE,如VS、eclipse。 Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口中操作。
最新版本为Xcode 6.1,新增功能有:允许开发者为iPhone和iPad调整开发应用大小(Resizable iPhone" and "Resizable iPad);开发 4.7英寸、5.5英寸的iPhone 6。同时Xcode 6还支持ios 8全新编程语言——Swif。
Objective-C是一种开发语言,形如C++、Java、C#。类的语法和设计主要是基于Smalltalk,最早的面向对象编程语言之一。
Objective-C是ANSI版本C编程语言的超集,支持C的基本语法。在C代码中,你定义头文件和源代码文件,从代码实现细节分离公共声明。
.h头文件。头文件包含类,类型,函数和常数的声明。
.m源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。
.mm源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。
Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。Swift 结合了C和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是基于成熟而且倍受喜爱得 Cocoa 和 Cocoa Touch 框架,他的降临将重新定义软件开发。
Cocoa是OS X和 iOS操作系统的程序的运行环境。类似于微软的.net平台。Cocoa和objective-c的关系,就像C#和.net的关系。
Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。
Foundation 和界面无关,也可以说和界面无关的类基本是Foundation框架的,和界面相关的是UIKit框架。这两个框架在系统中处于的位置如图:
Foundation 框架为所有应用程序提供基本的系统服务。应用程序以及 UIKit 和其他框架, 都建立在 Foundation 框架的基础结构之上。
Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它 还制定了一些约定(用于取消分配等任务),使代码更加一致,可再用性更好。
Foundation 框架的功能如下:
1.创建和管理集,如数组和字典;
2.访问储存在应用程序中的图像和其他资源;
3.创建和管理字符串;
4.发布和观察通知;
5.创建日期和时间对象;
6.自动发现 IP 网络上的设备;
7.操控 URL 流;
8.异步执行代码。
Foundation所以的类,图中灰色的是iOS不支持的,灰色部分是OS X系统的。
UIKit 框架提供的类可用于创建基于触摸的用户界面。用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。可以使用代码创建或使用interface Buidler图形界面方式创建。通过继承UIView类或间接继承UIView类可以自定义用户界面。
UIKit 框架的功能如下:
1.构建和管理用户界面;
2.处理基于触摸和运动的事件;
3.显示文本和网页内容;
4.优化应用程序以实现多任务;
5.创建自定用户界面元素。
Core Data 框架用于管理应用程序的数据模型。借助 Core Data,可以创建模型对象(称 为被管理的对象),管理那些对象之间的关系,并通过框架更改数据。Core Data 利用内建的 SQLite 技术高效地储存和管理数据。
Core Data 框架的功能如下:
1.存储对象和从储存处取回对象;
2.支持基本的撤销 / 重做;
3.自动验证属性值; 对内存中的数据进行过滤、分组和整理;
4.使用 NSFetchedResultsController 管理表格视图中的结果;
5.支持基于文稿的应用程序。
高质量的图形,是所有iOS 应用程序的一个重要组成部分。使用 Core Graphics 框架可 以创建图形。在 iOS 中创建图形最简易、便捷的方法,是将预渲染的图像与 UIKit 框架的标 准视图和控制配合使用,并让 iOS 完成绘图。
由于 UIKit 提供用于自定绘图的类,包括路径、颜色、图案、渐变、图像、文本和变 换,因此建议尽可能地使用 UIKit(较高级的框架),而非 Core Graphics(较低级的框架)。
编写在 iOS 和OS X之间直接共享的绘图代码时,需要使用Core Graphics。Core Graphics 框架也称为Quartz,它在这两个平台上几乎相同。
Core Graphics框架的功能如下:
1.制作基于路径的绘图;
2.使用边缘模糊化渲染;
3.添加渐变、图像和颜色;
4.使用坐标空间变换;
5.创建、显示和解析PDF文稿。
使用 Core Animation 框架可以制作高级动画和视觉效果。UIKit提供的动画是建立在 Core Animation技术之上的。如果需要超出UIKit功能的高级动画,可以直接使用Core Animation。
借助 Core Animation 能够创建不同层次的层对象,并对它们进行操控、旋转、缩放、变 换等。通过使用大家所熟悉的Core Animation视图式抽象,可以创建动态用户界面,而无须 使用低级的图形 API,如 OpenGL ES 等。
Core Animation 框架的功能如下:
1.创建自定动画;
2.给图形添加时序功能;
3.支持关键帧动画;
4.指定图形布局约束;
5.将多层更改分组为原子更新。
OpenGL ES 框架提供 2D 和 3D 绘图工具,支持基础的 2D 和 3D 绘图。Apple 实施的 OpenGL ES 标准与设备硬件紧密协作,为全屏幕游戏类应用程序提供很高的帧速率。
OpenGL ES 框架的功能如下:
1.创建2 D和3 D图形 ;
2.制作更复杂的图形,如数据可视化、飞行模拟或视频游戏;
3.访问底层图形硬件。
这里就不说XCode如何安装了。本人环境:Mac OS X 10.10.1,XCode 6.1。
打开Xcode,第一个界面选择左边第二项:Create a new Xcode project
在左侧选择iOS端,Application,Single View Application。
此时就创建完成了。运行后,会启动一个虚拟器,Xcode自动声声称一个xib的视图文件包括了一个label,显示hello word。
通过代码,自己创建一个label,并添加到view中。
在ViewController.m的viewDidLoad方法中添加:
前期,为了练习objective-c语法,使用命令行方式比较好,否则会启动iPhone/iPad虚拟机。
选择OS X的Application中的Command Line Tool。
点击运行,会在右下角的窗口中输出通过NSLog方法展示的内容。