当前位置: 首页 > 科技观察

CocoaTouch视频教程:iOS应用实例

时间:2023-03-18 13:44:54 科技观察

译者注:在翻译中,译者对原文中的一些错误句子和图片进行了修正。如果您发现任何翻译错误,请在文末留言。译者将为iPhone/iPodTouch初级开发者介绍如何使用Xcode3.1中的界面构建器(InterfaceBuilder)和应用程序委托(applicationdelegate)创建最简单的CocoaTouch应用。本教程旨在让初学者快速上手。我不想深入研究这些东西背后的机制,我只是想帮助您快速启动并运行您的第一个应用程序,这样您就可以用“无用”的应用程序填满AppStore。如果您是视觉学习者,也许观看视频教程比阅读本文更能帮助您。原视频请戳大图。如果你了解MVC(Model-model,View-view,Controller-controller),理解Cocoa编程就会容易很多。当然,如果你不懂MVC,你也可以通过代码示例一步一步来,但我不推荐这样做。最好先去谷歌一下了解一下。简单介绍一下,给不懂MVC的朋友。MVC称为(Model<–>Controller<–>View)或(View<–>Controller<–>Model),其中控制器(Controller)通常在另外两个后面。控制器用于告诉模型(Model)“更新数据”或通知视图(View)“更新显示”。这是整个模式的关键。我只是用通俗易懂的语言给你解释了。至于背后的细节,就复杂多了。创建您的应用程序让我们开始吧!创建Cocoa应用程序需要以下步骤:选择File(文件)>NewProject...(新建项目...),在iPhoneOS模板下,选择Window-BasedApplication(基于Window的应用程序),点击Choose...(选择...)并将项目名称设置为“BasiciPhoneApp”。单击保存。您应该看到以下项目工作区(projectworkspace):接下来您需要做的是创建类,并将它用作控制器(Controller)或委托(Delegate)。Delegator==Controller“delegator”和“controller”这两个词是等价的。稍后您将看到我们将在InterfaceBuilder中创建的不同方法委托给委托类或控件类。在iPhone模板项目中,为您创建了应用程序委托。我们应用程序的委托称为Basic_iPhone_AppAppDelegate。在程序的委托类中,我们需要添加Cocoa开发者想要关联的出口(Outlet)和行为(Action)。我可以用一整篇文章来深入解释它们,但限于本文的篇幅,为了带您完成创建第一个应用程序的整个过程,理解它们的概念就足够了。插座(Outlet)作为用户界面的控制组件(Control),常常被赋予一些行为(Action)。行为是代码中的函数,连接到用户界面中的控件组件(例如,按钮或下拉列表)。如果连接到按钮,则当用户单击按钮时将触发此行为。在xcode中,打开委托头文件Basic_iPhone_AppAppDelegate.h,并在窗口出口下为您的文本字段和标签添加出口。代码如下:@interfaceBasic_iPhone_AppAppDelegate:NSObject{IBOutletUIWindow*window;IBOutletUITextField*textField;IBOutletUILabel*label;}你还想为按钮点击添加一个行为。我们需要将以下属性添加到我们的窗口:@interfaceBasic_iPhone_AppAppDelegate:NSObject{IBOutletUIWindow*window;IBOutletUITextField*textField;IBOutletUILabel*label;}@property(nonatomic,retain)UIWindow*window;-(IBAction)click:(id)sender;现在打开执行文件Basic_iPhone_AppAppDelegate.m。在applicationDidFinishLaunching:函数下添加click:(点击)行为:-(void)applicationDidFinishLaunching:(UIApplication*)application{//Overridepointforcustomizationafterapplaunch[windowmakeKeyAndVisible];}-(IBAction)click:(id)sender;{}我们将点击:向操作处理程序添加一些代码,但首先我们将通过InterfaceBuilder将其与UI相关联。InterfaceBuilder和Controller/Delegator的实现现在我们定义了几个outlet:一个UITextField,一个UILabel和一个名为click:的动作,稍后您将看到它与InterfaceBuilderconnect中的UI相关。要打开InterfaceBuilder并设置连接,您需要执行以下步骤:在Xcode工作区中,展开左侧树中名为Resources的文件夹,然后双击名为“MainWindow.xib”的文件。注意:.xib是一个.nib,它以XML格式记录内部数据结构。然后将在InterfaceBuilder中打开xib文件。打开InterfaceBuilder后,您将在MainWindow.xib窗口中看到一个代表应用程序委托的对象。我们将使用它来连接行为和导出。设计用户界面现在您可以轻松地将控件添加到InterfaceBuilder的主窗口,然后相应地连接操作和插座。为了完成这一步,你需要做以下工作:将TextField(文本域)、Label(标签)和Button(按钮)拖到主窗口,如下图:按住Control-Click,然后将按钮拖到“MainWindow.xib”窗口的委托对象上会出现一个弹出框,选择点击:。按住Control-Click并将程序的委托对象拖到主窗口的文本字段上。还将显示一个弹出窗口,选择textField。同上,按住Control-Click,将程序的delegate对象拖到主窗口的label上,也会弹出一个窗口,选择label。InterfaceBuilder的工作就完成了。关闭它并返回到xcode。我们只需要再添加一段代码,应用程序就完成了。完成单击按钮时,它将读取文本字段中的文本并将其显示在标签上。这就是我们的应用程序要做的。下面是您需要添加的代码。只要把它放在Basic_iPhone_AppAppDelegate.m中的click:action中即可:-(IBAction)click:(id)sender;{[labelsetText:[textFieldtext]];}我们从textfield中提取文本,并使其显示在标签上.现在您所要做的就是单击“BuildandGo”。然后应用程序会运行iPhone模拟器(iPhoneSimulator),你会看到程序运行的效果。在文本字段中输入一些文本,然后单击更改。您会看到标签上的文本与文本字段中的文本相同。结论iPhone开发只有一个限制——您的想象力。这是一个好玩的开发平台,你开发的程序会给你带来丰厚的回报。享受它并尽可能多地了解它。帮我一个忙,停止在AppStore上放置“无用”的应用程序(例如手电筒应用程序、小费计算器等),直到您制作出“有用”的应用程序为止。