现在的位置: 首页 > 综合 > 正文

XCode4.0之HelloWorld创建及说明

2013年01月26日 ⁄ 综合 ⁄ 共 1996字 ⁄ 字号 评论关闭
文章目录

打开XCode之后,我们开始创建我们的第一个控制台程序“HelloWorld”了,顺便熟悉一下XCode的界面及使用。

首先选择“Create a New Xcode project”,然后选择“Open”按钮;

左侧选择“Mac OS X”下面的“Application”,然后在右侧选择“Command Line Tool”(这表示我们要创建Mac操作系统下面的一个控制台应用程序),然后选择右下角的“Next”按钮;

输入项目名称、公司名称及类别,注意类别要选择“Foundation”,然后选择“Next”按钮;

然后选择项目要保存的文件路径(只需选择项目存放在哪个文件夹,项目自身的文件夹会自行创建,不用再另行输入),然后选择“Create”按钮;

当项目创建成功后,会看到项目的一个属性设置界面,简单的各个界面说明如下:

然后点击“main.m”文件,在右侧会出现文件内容,然后点击左上角的“Run”按钮,执行成功后,会在中间的下面出现一个输出,如下图所示:

那么到这里就完成了第一个HelloWorld控制台应用程序,虽然我们没有手动输入代码,但是在这个过程,我们初步了解了一下XCode开发环境的界面及使用,虽然很简单很基础,可是好歹也算初次使用了一把。

 

HelloWorld程序解析

在前面,我们利用XCode创建了第一个控制台程序“HelloWorld”,但是有一些地方还是只有一个大概的印象,但不了解,那么这里就再讲解一下。

首先通过项目的文件列表,我们可以发现,项目的代码是存放在“main.m”文件里面,

代码的解析

Xcode的.m扩展名表示文件里面含有objective-c代码,它对应C里面的.c结尾的文件和C++里面的.cpp文件。

在代码中,main和return(0)语句和C里面的作用相当。但不同的是在程序的头部出现的这句代码:

“#import <Foundation/Foundation.h>”

但这句话的作用我们也不陌生,它的作用类似于

“#include <Foundation/Foundation.h>”

因为和C语言一样,objective-c也使用头文件来包含元素声明,包含结构体、符号常量、函数原型等。虽然在objective-c里面也可以用#include来实现,但是#import可以保证头文件只包含一次,而不论这个命令在代码中被出现了多少次。也就是说,它还可以等同于C里面的#ifdef命令。

另外在objective-c,用“<>”表示我们用的是系统里面的“Foundation”框架下面的Foundation.h,而""表示的是程序目录。

 

什么是框架?常用的框架介绍

框架是一种聚集在一个单元的部件集合,包含头文件、库、图像、声音文件。苹果公司里面主要有Cocoa、Carbon、QuickTime和OpenGL等技术作为框架集提供。而Foundation和Application Kit则是同属于Cocoa的一部分。

这里不一一介绍了,后面有兴趣深入开发的,可以后面自己了解并进行总结。

@autoreleasepool{}

在这里,我理解为项目自动为我们创建一个内存回收的机制,我们在大括号内编写的代码,若存在一些创建对象之类的使用的话,那么出了这个大括号,系统会为我们自动回收。这句话是在XCode3.2里面不曾出现的。若我的理解有误,大家可以指出来共同学习下。

 NSLog和@字符串

通过运行结果,我们可以理解NSLog其实就是一种输入函数,则语句向控制台输出,等同于C语言里面的printf()。虽然在objective-c也可以使用printf,但NSLong比其更加的方便,它添加了时间戳、日期戳和自动换行('\n')等。

NSLog(@"youinput is %d", 5);

 

我们可以看到NSLog里面的输入内容,是@"Hello,World!","Hello,World!"则是要输出到控制台的内容,那么@符号是什么?它是objective-c在标准C语言基础上添加的特性之一,@符号后面在加上双引号的字符串,表示引用的字符串是作为Cocoa的NSString元素来处理。

那么NSString是什么?和NSLog有什么联系呢?

NS的由来

为什么Cocoa的很多元素前面都有NS呢?“|NS”前缀,最早来自于一个NeXT Software公司的NextSTEP工具包,但已经被苹果所收购。苹果公司没有改变这种“NS”前缀而保留至今。所以带有NS前缀的元素,是属于Cocoa的,因此大家的创建元素的时候,不要与此同名,产生混淆。

NSString的特点与使用

前面讲解了NS的由来,那么NSString排除前面的前缀,则是String,是一串字符,那么NString有如下功能:告知其长度;将自身与其他字符串比较;将自身转换为整型值或者浮点值。(它让我想起了MFC里面的CString)

抱歉!评论已关闭.