本节书摘来自异步社区《深入浅出iPhone/iPad开发(第2版)》一书中的替换按键的文本,作者 【美】Dan Pilone , Tracey Pilone,更多章节内容可以访问云栖社区“异步社区”公众号查看
替换按键的文本
深入浅出iPhone/iPad开发(第2版)
你知道,按键需要一个IBAction去响应按键按下,因此,我们在实现文件中编写按键应该怎么做。但是按键应该怎么做呢?
我们需要去替换按键中的文本来提供一个答案。因此,这意味着我们需要一些方式达到返回“out”到界面,并改变标签的文本。我们将使用一个IBOutlet来实现。

IBActions和IBOutlets是对理解如何使用控件来工作的关键,我们将在下一章中对它们进行细致的讨论。目前,只要记住动作用于在界面中对事件做出反应,出口用于从代码中弹出以改变界面。
这里没有愚蠢的问题
问:如果我不在.h文件中实现一切会发生什么?
答:在编译时,Xcode会抱怨。它将检查你是否完全实现了在相关头文件中声明的类。如果它认为并非如此,你就会被给予一个警告,告诉你所发生的。如果你需要该代码去支持什么别的事情,那么它将在运行时崩溃。
问:框架究竟是什么?它们与库是同一个东西吗?
答:它们真的很相似。它们在共享、编译代码方面都很像库,但是它们还可以与图片、头文件、文档等进行绑定。
问:我必须要使用界面构建器创建我的视图吗?
答:不用。你可以做任何你想要做的事情,无论是在界面构建器中,还是在代码中(等等一些)。然而,使用界面构建器并不是意味着你就不能使用代码来完成一些事情。由于界面构建器会为你提供更好的图形化的方式设计你的视图,大多数的应用程序至少都有一些自己的UI内置在界面构建器中,然后再将代码加入或者调整。
问:我必须用Objective-C编写我的应用程序吗?
答:早期版本的iOS开发协议需要为一切将通过iTunes App Store进行发布的应用程序使用Objective-C。苹果公司后来放宽了这一要求,开放使用其他工具或语言的可能性。尽管如此,几乎所有关于iOS的开发,都会假设你使用的是Objective-C。所有的基本框架都用Objective-C编写(或者编写用来为它工作),文档和示例代码使用它,而工具套件围绕它建立。基本上,如果你想要认真编写原生应用程序,你最好还是学习Objective-C,并开始用它编写代码。
问:我能将我编写的应用程序给我的朋友们吗?
答:能也不能。首先,如果你想要将应用程序放入任何人的真实设备上(包括你自己的),你需要注册付费苹果iOS开发项目。一旦你这么做了,就可以注册最多100部设备,并安装你的应用程序到它们之上。然而,以这样的方式去获得你的应用程序并不是很棒的方式,因为苹果公司限制了你通过这种方式最多能够注册的设备数量。它对于测试你的应用程序很好,但并不是与别人分享你的应用程序的很好的方式。
最好的方式是提交你的应用程序到iTunes App Store。你可以选择以免费或者付费的方式发布你的应用程序,但是通过iTunes App Store发布,你将让你的应用程序面向全世界(而且可能还可以挣些钱!)。我们将在本书的稍后部分更多地讨论发布应用程序的内容。
最后,还有一种企业版开发项目你可以加入,让你可以不使用App Store而在内部发布应用程序。这种方式有用,但是会比普通项目花费更多。
问:我必须使用IDE吗?我真的是一名命令行开发者。
答:从技术上讲,不用,你没必要使用XcodeaIDE进行直接开发。然而,IDE使iOS开发变得如此简单,你真的应该问问自己,你有什么更好的理由不用它,特别是它在真实设备或者模拟器上测试与Xcode的结合是如此紧密。这本书使用的XcodeaIDE同苹果其他开发工具一样,而且我们鼓励你至少在放弃它们之前尝试一下。对于自动化构建的事物或者自动化测试,SDK伴随的命令行建立工具叫做xcodebuild,它可以像Xcode那样创建你的应用程序,但是你很可能仍然希望用Xcode来进行实际开发。
问:我能够为iPhone开发一款应用程序,然后再为其他手机(如WindowsaMobile或者Android手机)重新构建这个应用程序吗?
答:一个词,不能。当你为iPhone开发时,你使用的是苹果的iOS框架,如Cocoa Touch,以及Objective-C等,而这些都不能用在其他设备上。

下面是当按键被点击时的代码。添加粗体显示的代码到iDecideViewController.h和iDecideViewController.m文件中。我们创建3样东西:UILabel属性,用于回应按键按下的IBAction,以及用于当按键被按下后改变标签的IBOutlet。

这里的代码从之前iDecideViewController.h和iDecideViewController.m的完整文件中得来。
