您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

应该了解的iOS应用开发基础知识

作者:佚名    责任编辑:admin    更新时间:2022-06-22

本文导航

1、首页2、iOS应用开发基础知识-2

本文的目的就是帮助各位设计师在最短的时间内,以实战的方式探索iOS应用开发基础知识。希望文章内容对大家有所帮助。

声明属性(Property)与方法(Method)

一个“类”通常包含特定的“属性”和“方法”。我们可以将“属性”理解为“类”所拥有的特性特征,而“方法”则是指“类”能做些什么。

当我们向ContactViewController中添加按钮时,我们需要将这个按钮声明为ContactViewController类的属性,并通过“方法”告诉按钮在被点击时应该做怎样的反应。

在ContactViewController.h文件中,我们可以看到如下代码:

iOS应用开发基础知识

其中,第一行代码的作用是让我们的类可以访问UIKit框架当中的各种预置的UI类。

接下来一行(@interface)的作用是将ContactViewController声明为UIViewController的一个子类。UIViewController是在UIKit库中预先定义的,它的子类可以继承它的所有特性(包括属性和方法)。

我们可以在@interface与@end之间声明各种自定义的属性和方法。按住control键,从 ContactViewController.xib里的“WWW”按钮上拖出一条导线,一直拉到.h文件的代码中@interface与@end之间的 部分,释放。这时会出现一个对话窗:

确保“Connection”当中所选的是“Outlet”,并在“Name”里输入“websiteButton”,点击“Connect”,Xcode会自动生成一段代码。

接下来再执行一次相同的拖放操作,这次,在对话窗中为“Connection”选择“Action”,并在“Name”中输入“openWebsite”,点击“Connect”,Xcode同样会自动生成一段代码。

iOS应用开发基础知识

到目前为止ContactViewController.h中的代码看上去应该是这样的:

还不赖,不过这些代码都是什么意思?

@property用来声明一个新的属性,括号中是两个参数,其中“retain”涉及内存管理,我们将在后文中讲到;而“nonatomic”则 与多线程管理相关,多数的属性都要声明为nonatomic,禁用多线程。接下来是关于返回类型的声明,其中“IBOutlet”代表这个属性是绑定于用 户界面中某个特定的控件的;“UIButton *websiteButton”的作用是将当前属性命名为“websiteButton”,并使其继承UIKit中定义的UIButton类。

接下来一行代码用来声明新的方法。其中的“- (IBAction)”同样用来将方法与.xib文件中的界面控件绑定起来。“openWebsite”是这个方法的名称,冒号后面的“(id)sender”是参数,用来传递产生动作的对象信息,不过我们现在用不到它。

也许你已经注意到了,我们在创建View Controller类的时候,名称都是以大写字母开头的,但属性和方法的名称却不是这样。这是面向对象编程语言的一种公约,即“类的命名以大写字母开头,属性(变量)和方法(函数)的命名以小写字母开头”。

我们之前演示的“拖动+自动生成代码”的方法是很方便的。我们当然也可以自己手动编码,只是使用辅助编辑器会更加快捷一些。

属性合成(Synthesis)与内存管理

现在,我们将编辑器切换回标准模式(Standard Editor),弹击选中ContactViewController.m,在大约12行的地方,你可以看到系统帮我们自动生成的代码:

这会告诉编译器在构建应用的时候为属性生成设置器(setter)与访问器(getter),我们不需要手动编写代码就可以使程序具有访问和设置属性值的能力。

再下面,找到这两行代码:

觉得眼熟?之前在ContactViewController.h当中,系统确实自动生成了类似的代码,不过在.h文件中的代码只是一种“声明”,真正编写方法函数还是要在.m文件中进行。具体来说,我们需要将按钮的反映行为编写到这里。