苹果开发工具概述:Xcode 和Interface Builder - 学院 - CHINAUI.com 优艾网 - 中国人机界面设计门户网站
您的位置:首页 >> 学院 >> 交互技术 >> 苹果开发工具概述:Xcode 和Interface Builder
苹果开发工具概述:Xcode 和Interface Builder
来源:csdn 作者:csdn 发布时间:2008-03-25

什么是Xcode?
Xcode是Apple自己开发的,只运行在Mac OS X平台下的IDE。如果你想真正了解Mac OS X平台上的开发,就应该了解它。当然,Mac OS X实现了POSIX,固然也支持传统的UNIX编程环境;Eclipse等Java开发工具也有Mac OS X版。不过这些,你在Linux或者Windows平台也能体验到。Xcode也并不神秘,Apple并没有自己特有的编译器(尽管Mac上的Gcc是经苹果修改过的版本),创建项目的时候,Xcode还是会生成并执行一条条的Gcc和ld的命令。所以如果你有足够的UNIX经验(并且知道到哪里找需要用的Framework),完全可以在命令行编译一个完整的Cocoa应用程序。

其实Xcode提供了很多功能,使你无论在创建项目、设计、修改代码还是编译等各个环节都能收益,恐怕你很难找到一个不使用它的理由。事实上,自从Mac OS 10.4引入了Universal Binary的概念以后,Xcode几乎成为了大多数Mac开发者的唯一选择。不用担心的是Xcode是免费的,只要你有一台Mac,随机带的安装盘里就有Xcode,升级是免费的(不过如果你用的是Mac OS 10.5以前版本的OS,你将不能运行Xcode 3.0或以上的版本)。

什么是Interface Builder?
Interface Builder(IB)是Mac OS X平台下用于设计和测试用户界面(GUI)的应用程序。为了生成GUI,IB并不是必需的,实际上Mac OS X下所有的用户界面元素都可以使用代码直接生成;但IB能够使开发者简单快捷的开发出符合Mac OS X human-interface guidelines的GUI。通常你只需要通过简单的拖拽(drag-n-drop)操作来构建GUI就可以了。

IB使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序。在需要的时候,Nib文件可以被快速地载入内存。

ByeWindows程序
学习和认识Xcode的最好办法就是学做一个简单的例子,不然,你永远只知道Xcode而不知道怎样去用它。这样的例子网上很多(外部连接里我也放了两个),英文没问题的读者可以直接去看那些例子。

让我们来看看如何使用Xcode编写一个简单的Cocoa程序(为保证实时性,以下的例子均将采用Xcode 3.0。使用Cocoa程序作为例子的原因是我希望用一个连贯的例子介绍Xcode和Interface Builder;同时Cocoa程序才能代表Mac OS X编程的特点)。

首先我们需要安装Xcode。放入Leopard安装DVD,再弹出窗口后,选择“OptionalInstalls->Xcode Tools->XcodeTools.mpkg”,然后根据安装向导完成安装。安装完成后,Xcode.app可以在“\Developer\Applications\”下找到。双击图标,Xcode就应该运行起来了。

接下来我们需要创建一个新项目,点击Xcode的菜单:“File->New Project...”或者使用快捷键Shift+Cmd+N。这时会弹出一个Assistant窗口,你需要在这里选择你要建立哪一种Project。选择“Application->Cocoa Application”,然后点“Next”。接着你需要给项目取名字,并指定路径。这里我们把项目叫做ByeWindows。之后点“OK”,你就会看到Xcode的主窗口了。

图1.1 选择Project类型 

我们先看左边“Groups & Files”一栏,注意到代表整个Project的ByeWindows蓝色图标已被选中,此时显示的是整个Project所有的文件,包括源文件和需要生成的Binary文件。注意到ByeWindows.app可执行文件是以红色显示,意味着这个文件现在还没有生成,但Project对它有一个Reference。如果改变左边选中的Group,右边的文件列表也会相应的更新。现在我们在Classes group里新建两个文件:右击选中Classes,Add->New File... 选择Objective-C Class,命名文件名为“AppController”,点OK。这时两个新文件会被添加到Class group里。默认情况下.h文件会在一个新窗口中被打开,你可以使用快捷键??↑切换到.m文件。你也可以在Groups & Files一栏双击文件,使其在一个新窗口中打开。在新窗口中编辑代码有时很方便,不过“All-in-One” window的模式或许更受偏爱。不用急如果你喜欢“All-in-One”,只要先在左边单击选中main.m文件,然后点击Toolbar上的Editor按钮(如果你看不到这个按钮,你需要先通过点击菜单项“View->Customize Toolbar...”来添加该按钮),这样右边的窗口就变成了Editor。以后你若选择左边的选项,右边Editor的内容会相应更新。注意Xcode不象VS那样支持Tab,而是在Editor的上方一栏,你可以通过点击左边那一对小三角来选择近来在Editor里打开过的文件;而点击右边那一对小三角,可以让你选择当前编辑的文件里的Symbols(比如函数名等)。

图1.2 Editor

 

接下来我们要写点代码:

AppController.h:
@interface AppController : NSObject {
    IBOutlet NSButton *button;
}

- (IBAction)saySomething:(id)sender;

@end
AppController.m:
#import "AppController.h"

@implementation AppController

- (void)awakeFromNib {
    NSLog(@"Wake up!");
}

- (IBAction)saySomething:(id)sender {
    NSLog(@"Hello Mac, Goodbye PC.");
}

@end
这里我们定义了一个class,但还没有生成其Instance。这时双击Resources->MainMenu.nib,Interface Builder会自动启动。从Library里drag一个NSObject(蓝色的正方体)到Title是MainMenu.nib的Window里。接着在Inspector里选择Identity tap (?6),更改其Class为AppController(我们刚刚定义的class)。

接着,再从Library里Drag一个Button(任何一种Button都可以)到Title(Window的窗口)。接下来按住Control的同时,Drag button到AppController,并连接其Action到SaySomething:。接下来Save并返回Xcode。

相关阅读
推荐文章
热点文章