iOS开发笔记 之 第1章 基本概念与Helloword
iOS开发笔记 之 第2章 Objective-C基本语法学习
iOS开发笔记 之 第3章 Objective-C数据结构与算法
iOS开发笔记 之 第4章 消息和协议
iOS开发笔记 之 第5章 iPhone的基本控件
iOS开发笔记 之 第6章 网络通信(socket、http、蓝牙)
iOS开发笔记 之 第1章 Objective-C语法学习
1.1 基本概念
XcodeiOS、XCode、Objective-C、Swif、Cocoa是什么?
1.1.1 iOS
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第五代及以后的设备。
1.1.2 Xcode
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。
1.1.3 Objective-C
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++类或者特性的时候才用这种扩展名。
1.1.4 Swif
Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。Swift 结合了C和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是基于成熟而且倍受喜爱得 Cocoa 和 Cocoa Touch 框架,他的降临将重新定义软件开发。
1.1.5 Cocoa
Cocoa是OS X和 iOS操作系统的程序的运行环境。类似于微软的.net平台。Cocoa和objective-c的关系,就像C#和.net的关系。
Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。
Foundation 和界面无关,也可以说和界面无关的类基本是Foundation框架的,和界面相关的是UIKit框架。这两个框架在系统中处于的位置如图:
1.2 框架介绍
1.2.1 Foundation
Foundation 框架为所有应用程序提供基本的系统服务。应用程序以及 UIKit 和其他框架, 都建立在 Foundation 框架的基础结构之上。
Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它 还制定了一些约定(用于取消分配等任务),使代码更加一致,可再用性更好。
Foundation 框架的功能如下:
1.创建和管理集,如数组和字典;
2.访问储存在应用程序中的图像和其他资源;
3.创建和管理字符串;
4.发布和观察通知;
5.创建日期和时间对象;
6.自动发现 IP 网络上的设备;
7.操控 URL 流;
8.异步执行代码。
Foundation所以的类,图中灰色的是iOS不支持的,灰色部分是OS X系统的。
1.2.2 UIKit
UIKit 框架提供的类可用于创建基于触摸的用户界面。用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。可以使用代码创建或使用interface Buidler图形界面方式创建。通过继承UIView类或间接继承UIView类可以自定义用户界面。
UIKit 框架的功能如下:
1.构建和管理用户界面;
2.处理基于触摸和运动的事件;
3.显示文本和网页内容;
4.优化应用程序以实现多任务;
5.创建自定用户界面元素。
1.2.3 Core Data
Core Data 框架用于管理应用程序的数据模型。借助 Core Data,可以创建模型对象(称 为被管理的对象),管理那些对象之间的关系,并通过框架更改数据。Core Data 利用内建的 SQLite 技术高效地储存和管理数据。
Core Data 框架的功能如下:
1.存储对象和从储存处取回对象;
2.支持基本的撤销 / 重做;
3.自动验证属性值; 对内存中的数据进行过滤、分组和整理;
4.使用 NSFetchedResultsController 管理表格视图中的结果;
5.支持基于文稿的应用程序。
1.2.4 Core Graphics 框架
高质量的图形,是所有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文稿。
1.2.5 Core Animation 框架
使用 Core Animation 框架可以制作高级动画和视觉效果。UIKit提供的动画是建立在 Core Animation技术之上的。如果需要超出UIKit功能的高级动画,可以直接使用Core Animation。
借助 Core Animation 能够创建不同层次的层对象,并对它们进行操控、旋转、缩放、变 换等。通过使用大家所熟悉的Core Animation视图式抽象,可以创建动态用户界面,而无须 使用低级的图形 API,如 OpenGL ES 等。
Core Animation 框架的功能如下:
1.创建自定动画;
2.给图形添加时序功能;
3.支持关键帧动画;
4.指定图形布局约束;
5.将多层更改分组为原子更新。
1.2.6 OpenGL ES 框架
OpenGL ES 框架提供 2D 和 3D 绘图工具,支持基础的 2D 和 3D 绘图。Apple 实施的 OpenGL ES 标准与设备硬件紧密协作,为全屏幕游戏类应用程序提供很高的帧速率。
OpenGL ES 框架的功能如下:
1.创建2 D和3 D图形 ;
2.制作更复杂的图形,如数据可视化、飞行模拟或视频游戏;
3.访问底层图形硬件。
1.3 Helloword
这里就不说XCode如何安装了。本人环境:Mac OS X 10.10.1,XCode 6.1。
1.3.1 创建项目
打开Xcode,第一个界面选择左边第二项:Create a new Xcode project
1.3.2 选择项目模板
在左侧选择iOS端,Application,Single View Application。
1.3.3 输入项目名称
1.3.4 创建完成
此时就创建完成了。运行后,会启动一个虚拟器,Xcode自动声声称一个xib的视图文件包括了一个label,显示hello word。
1.3.5 使用代码创建控件
通过代码,自己创建一个label,并添加到view中。
在ViewController.m的viewDidLoad方法中添加:
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"ViewController - viewDidLoad"); UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 400, 100)]; label.text=@"Hello World by limingnihao!"; [self.view addSubview:label]; }
1.4 命令行项目
前期,为了练习objective-c语法,使用命令行方式比较好,否则会启动iPhone/iPad虚拟机。
1.4.1 选择项目模板
选择OS X的Application中的Command Line Tool。
1.4.2 运行结果
点击运行,会在右下角的窗口中输出通过NSLog方法展示的内容。
相关推荐
1. HelloWorld:创建第一个Objective-C程序,了解基本的语法和工程结构。 2. 简单应用:尝试开发一个简单的macOS或iOS应用,如计时器、计算器等,加深对语言特性的理解。 3. 深入学习:逐步学习Cocoa或Cocoa Touch...
### Objective-C基础教程第二版:OC入门基础教程 ...通过上述知识点的学习,读者可以全面了解Objective-C的基础知识及其在iOS开发中的应用。随着实践经验的积累,将进一步掌握Objective-C的高级特性和最佳实践。
"IOS学习笔记补充1"是对前期学习内容的进一步丰富和完善,旨在帮助开发者更好地理解和掌握iOS开发的关键知识点。这份笔记不仅适用于初学者,对于有一定经验的开发者来说,也是一个有价值的参考资料。 在iOS开发中,...
【标题】"IOS 菜鸟笔记 之 项目 一 ( 源码 )" 提供的是一个初学者级别的 iOS 开发项目实例,通过源代码的形式帮助开发者了解 iOS 应用的基本架构和开发流程。这个项目可能是从创建一个新的 Xcode 工程开始,到实现...
总的来说,这个压缩包文件"我的笔记:iOS学习笔记"是一个集Objective-C基础知识、iOS开发实践经验以及第三方控件运用于一体的综合学习资料。无论是初学者还是有经验的开发者,都可以从中受益,提升自己的iOS开发技能...
在这一章,我们回顾了Objective-C的基本语法,包括消息传递、类定义、属性和方法的声明与实现,以及内存管理原则。 2. **Xcode集成开发环境**:Xcode是iOS开发的核心工具,提供了代码编辑、调试、构建和测试等一站...
从C++过渡到Objective C的学习之旅是一条富有挑战的道路,但同时也充满了机遇。以下是一些关键的知识点,将帮助你理解这两个语言之间的异同以及如何有效地进行转换。 1. **面向对象编程基础**:C++和Objective C都...
Swift是苹果在2014年推出的现代编程语言,语法简洁,易于学习,而Objective-C则是早期的iOS开发语言,虽然较为复杂,但在许多现有代码库中仍被广泛使用。 "IOS开发入门.doc"文档很可能是对iOS开发基础的一份详细...
Objective-C是早期iOS开发的主要语言,它基于C语言,加入了Smalltalk的面向对象特性。随着Swift的发布,苹果推荐开发者转向这种更现代、安全、高效的编程语言。Swift语法简洁,易于阅读,且支持类型推断和闭包,大大...
在iOS开发领域,Objective-C和Swift是两种主要的编程语言,它们构成了苹果生态系统中的应用程序的基础。本资源包“iosdev”包含与这两种语言相关的各种学习资料、API文档、示例项目以及工具,旨在帮助iOS开发者提升...
- `iPhone 开发教程源码( BeginningiPhoneDev )`、`iPhone应用程序编程指南 - 中文版`和`iPhone 教程- 开发笔记`提供实践指导,涵盖从安装开发环境到编写第一个应用的全过程。 - `斯坦福大学 iPhone开发教程`...
- **Objective-C**:作为一种面向对象的语言,Objective-C是C语言的扩展,它引入了类、消息传递等概念。虽然Swift逐渐成为主流,但Objective-C仍然是许多现有项目的首选语言。 - **Swift**:Swift是由Apple开发的一...
2. **Objective-C基础**:Objective-C是iOS开发的主要编程语言,尽管Swift已经越来越流行。本章可能涉及Objective-C的基本语法,包括消息传递机制、类与对象、协议、类别、块等概念。 3. **Cocoa Touch框架**:...
在iOS开发领域,Object-C是苹果官方早期支持的主要编程语言,尤其在开发iOS应用程序时扮演着核心角色。"iOS视频教程"显然是一份专门针对使用Object-C进行iOS应用开发的教学资源。在这个教程中,你将深入学习如何使用...
对于初学者来说,《Learn Object-C on the Mac》和《The Objective-C 2.0 Programming Language》这两本书是很好的学习资源,它们详细介绍了Object-C的语法、类、协议和内存管理等核心概念。 在iPhone应用的界面...
iTween研究院之学习笔记Move移动篇(一) Android研究院之应用程序对话框大合集(一) Cocos2D研究院之构建游戏开发环境(一) Direct3D研究院之创建第一个DirectX3D项目(一) NGUI研究院之开始学习制作第一个...
1. **Swift语言的引入**:iOS 8是首次全面支持Swift的时候,这是一种由Apple设计的新型编程语言,旨在提高开发效率,减少错误,并提供更直观的语法。Swift与Objective-C可以混用,使得过渡到新语言更为平滑。 2. **...
它结合了Objective-C的面向对象特性与C++的现代编程概念,语法简洁,易于学习,同时也具有高性能。 2. **iOS开发**: Swift-Vesper的开发针对iOS操作系统,这意味着它利用了Apple的UIKit框架来构建用户界面,提供...