代码基础与多图形按钮应用开发
立即解锁
发布时间: 2025-08-27 00:40:10 阅读量: 2 订阅数: 16 

### 代码基础与多图形按钮应用开发
#### 代码基础概念
在代码开发中,有几个关键概念需要我们深入理解,它们是构建应用程序的基石。
##### Nibs、Zibs 和 Xibs
Nibs、Zibs 和 Xibs 本质上指的是同一类文件,只是不同人有不同的叫法。在一次开发者会议上,很多演讲者将 .xib 文件称为 “nibs” 或 “zibs”,不过大多数程序员更喜欢用 “nib” 文件这个说法。
当我们点击一个 nib 文件时,会自动打开 Interface Builder。打开后会发现,文件中包含了与按钮和图像相关的所有代码,这些信息都存储在其中。当运行应用程序时,所有对象及其关联的链接会正确集成,为用户呈现出我们预想的体验。
从 Cocoa 或 Objective - C 的层面来看,nib 文件包含了激活 UI 文件所需的所有信息,能将其转化为 iPhone 或 iPad 上的图形艺术作品。而且,还可以将不同的 nib 文件组合在一起,创建更复杂的交互。
文件中的所有信息用于创建我们输入的按钮、标签、图片等的实例。这些命令集合被保存到 nib 文件中,形成 UI。代码和命令结合在一起,通过用户的视觉、听觉甚至触觉被感知。
例如,当我们保存一个新项目时,计算机会为项目实体分配一系列子文件,使其成为真实可感的存在。在 helloWorld_004 项目中,项目会立即拥有 “arms and legs”,即两个 AppDelegate 文件和两个 ViewController 文件。
当我们告诉计算机如何以及何时为特定进程或进程集合分配内存时,就创建了某个东西的 “实例”。当满足所有参数条件时,用户就能体验到这些存储在内存中的数据。有时,我们会将这些描述和命令的集合称为类、方法或对象。在代码挖掘过程中,这些术语可能看起来相似,但实际上它们是不同的编码工具,各自适用于特定的情况。
当我们说在 nib 文件中创建了按钮和标签的实例时,意味着运行代码时,计算机内存中特定地址的部分会负责生成我们设计的 UI。每次在 iPhone 或 iPad 上启动应用程序时,界面都会由 nib 文件中的命令重新创建。
例如,我们从库中拖动一个按钮到视图窗口,就创建了该按钮的实例。如果有人问这意味着什么,我们可以说:“通过创建这个按钮的实例,我已指示计算机在相应的 .xib 文件中预留内存,应用启动时,该按钮将按我的预期出现并与用户交互。”
##### 方法
方法是另一个重要的概念。我们已经广泛使用过方法,下面来详细了解一下我们具体做了什么。
回顾之前的操作,当我们从按钮 - 拖动到文件所有者图标,在下拉菜单中选择 “OK I’m repeating myself!” 时,这就是通过方法实现的。
在步骤 7 中,我们复制并粘贴命令 `- (IBAction)hello:(id)sendr;`,这是在指示计算机将一个动作与按钮关联起来。代码中的第一个符号是减号(–),这表示 IBAction 是一个实例方法;如果输入的是加号(+),如 `+ (IBAction)`,则称为类方法。这两个符号分别向处理器宣告实例和类,但它们都包含方法 IBAction,从名称可以看出,这是一个将在 Interface Builder 中执行的动作。
在步骤 9 中,我们完成了头文件的工作,开始处理实现文件 helloWorld_004ViewController.m。这个文件负责管理代码,我们从头部文件复制并粘贴 `- (IBAction)hello:(id)sendr;` 到该文件中。
最初的代码如下:
```objc
#import "helloWorld_004ViewController.h"
@implementation helloWorld_004ViewController
- (IBAction)hello:(id)sendr;
@end
```
然后,我们删除行尾的分号,用左括号({)替换,代码变为:
```objc
#import "helloWorld_004ViewController.h"
@implementation helloWorld_004ViewController
- (IBAction)hello:(id)sendr{
}
@end
```
方法实际上是计算机在接收到特定输入并需要处理时执行的代码包,比如按下按钮时。可以用一个类比来理解:程序员说 “这里有一个帮助你画漂亮房子的应用程序”,这就像是一个头文件的声明。然后,程序员会输入具体的指令,如 “在显示屏底部三分之一处画一条微微弯曲的地平线,在这条线的中间放置一个 4 × 7 的矩形,上面再放一个
0
0
复制全文
相关推荐









