- iPhone开发环境介绍
- iPhone开发工具Xcode简单介绍
- iPhone开发SDK介绍
- iPhone开发基础之ObjectiveC入门
- iPhone开发基础之ObjectiveC类的声明
- Objective-C 编译器对Objective-C源代码m进行编译
1.iPhone开发环境介绍
开发环境的要求
硬件:
1.苹果电脑, 必须是基于Intel的Macintosh计算机。
2.iPhone或iPod Touch,主要用来测试编写好的程序。
软件:
1.苹果系统MacOS。
2.iPhone SDK(请从http://developer.apple.com/iphone/下载最新版SDK),SDK中包含苹果公司的集成开发环境Xcode,iPhone模拟器及其它一些开发工具。
开发环境的简单介绍
开发环境主要包括
Xcode (主要开发工具)
Interface Builder (界面快速设计工具)
iPhone Simulator (iPhone模拟器)
SDK(Software Development Kit,软件开发工具包)
2.iPhone开发工具Xcode简单介绍
Xcode简单介绍
开发iPhone OS及Mac OS X应用,需要在Mac OS X运行Xcode开发工具
Xcode是Apple的开发工具套件,支持项目管理、编辑代码、构建可执行程序、代码级调试、代码的版本管理、性能调优等等
Interface Builder 简单介绍
可视化地设计应用程序的用户界面。
从Interface Builder的控件库中通过拖拽创建诸如窗口,视图,菜单,按钮等
可视化的设置控件属性,建立各控件之间的连接;
保存后的nib文件包括了控件对象,控件配置,以及控件布局等信息,程序加载nib文件时根据这些信息创建对象。
Xcode 与 Interface Builder 的联系
同时使用Xcode和Interface Builder工具,简化代码,便于维护,加快开发
使用Xcode来设计程序的逻辑,使用Interface Builder 来设计程序的界面。
关键字IBOutlet和IBAction在Xcode中用来声明属性和方法,在Interface Builder中与这些声明建立连接。
iPhone模拟器
iPhone模拟器是可以在电脑上部署和测试你的应用程序的目标平台
iPhone模拟器提供了类iPhone的环境,通过菜单选项,可以模拟屏幕锁,屏幕转向,内存警告等功能
因为电脑没有提供一些必要硬件,所以iPhone模拟器也有功能限制
iPhone模拟器
功能限制:
✕ 不能使用GPS定位
✕ 不能使用加速计
✕ 不支持超过2个手指的触摸的多点触摸
✕ 不能打电话
✕ 不能使用3G网络
✕ 不能使用相机和麦克风
✕ 仅提供一些原装程序如Safari,Contact,Photos,Settings
✕ 无法测试程序对iPhone CPU和内存的消耗情况
3.iPhone开发SDK介绍
SDK -Software Development Kit,软件开发工具包。
为iPhone平台,Mac OS X系统编写的软件开发包和软件框架。使用它提供的类和API等其它资源来快速开发针对特定硬件平台和操作系统的程序。
SDK有不同平台的版本(如iPhone平台,Mac OS X平台)和同一平台的不同版本。可以让我们开发部署不同平台和同一平台不同版本的应用程序。
开发文档的使用
Xcode带有文档浏览器,包括了类参考,API参考等。
访问苹果开发者官网(http://developer.apple.com/iPhone/),里面有示例源代码,技术指导文档,参考文档,视频指导等等丰富的资源。
4.iPhone开发基础之Objective-C入门
Objective-C语言是为支持面向对象编程而设计的一个简单的计算机语言
Objective-C是标准的ANSI C的一个小而强大的扩展集
Objective-C对C的扩展都是基于Smalltalk语言
Objective-C给了C完全的面向对象编程能力。
Objective-C的编译器基于gcc编译器。
Objective-C语法是GNU C/C++语法的超集,
Objective-C编译器能够编译C(.c),C++(.mm)以及Objective-C(.m)的源代码。
Objective-C 类
一个类由两部分组成:
接口(Interface),声明方法,变量,指出父类和遵守的协议。文件后缀.h;
实现(Implementation),实现类,主要包括方法的实现。文件后缀.m
5.iPhone开发基础之Objective-C(类的声明)
Objective-C 类的声明
类的声明的基本格式:
@interface ClassName : ItsSuperclass
{
instance variable declarations //实例变量声明
}
method declarations //方法声明
@end
比如:
@interface Rectangle:NSObject
{
BOOL filled; NSColor *fillColor;
@private:
float width; float height;
}
+ alloc; //类方法,[Rectangle alloc]
- (void)display; //实例方法 [rectangle display]
- (float)width; //存取器方法,和变量同名,获取变量
- (void)setWidth:(float)inWidth; //set+变量名,设置变量值
- (void)setWidth:(float)inWidth height:(float)inHeight;
@end
6.Objective-C 编译器对Objective-C源代码(.m)进行编译
Objective-C 编译器对Objective-C源代码(.m)进行编译,要求方法返回值类型和参数类型都要用括号括起来。
-(void)setWidth:(float)width height:(float)height;
多参数方法,有必要表明各个参数的功能
Objective-C 头文件导入
#import "ItsSuperclass.h”
@interface ClassName : ItsSuperclass
{
instance variable declarations
}
method declarations
@end
#import关键字导入一个类的声明,和C++中#include功能一样
区别于#include,可以保证同一个类的声明只被导入一次
Objective-C 类名的引用
#import "ItsSuperclass.h”
@class Rectangle;
@interface ClassName : ItsSuperclass
{
Rectangle *rectangle;
}
@end
@class 告诉编译器Rectangle是一个类,不需要引入它的头文件;
@class 缩短编译代码,减轻编译器负担。
Objective-C 类的实现
_每个类的实现中必须导入相应头文件。如
#import "ClassName.h”
@implementation ClassName
method definitions
@end