让不懂编程的人爱上iPhone开发(2020春iOS13+Swift5.1+Xcode11版)-06

欢迎继续我们的学习。

属性和方法

对象通常包含至少两类组成元素:

1.属性:

数据是计算机程序的灵魂。如果没有数据,那么计算机程序就没有存在的意义。而属性正是对象用来存储数据的地方。比如在ride-sharing应用这个例子中,用户对象有若干种不同的属性,比如用户的姓名和所在位置。而每个car对象也有自己的属性,用来存储汽车的制造年份、当前位置和当前司机等。
简单来说,属性就是对象所知道或者所拥有的信息。

2.方法:

有一些代码并集合到一起用来执行某些操作,通常是对于数据的处理。同样在ride-sharing这个例子中,用户对象需要通过某种方法来实时更新用户所在的位置。每个car对象也需要有一个方法来更新汽车的当前位置,或是计算它到指定用户的距离。
在swift中,当我们需要调用某个方法的时候,需要在对象名的后面添加一个圆点,然后就是方法的名称。
简单来说,方法就是对象能做的事情。

好了,现在继续看代码。

细心的你其实应该已经发现,其中包含了属性和方法的示例。

struct ContentView: View {
 var body: some View {
 Text("2020年面对困难不要害怕,武汉加油!")
 .fontWeight(.black)
 .foregroundColor(.red)
 }
}

首先看属性。当前,ContentView定义了一个属性,名称是body,它相当于一个容器,其中包含了ContentView所代表的屏幕上的所有对象。

var body: some View {

这一行代码换成人类的语言,意思是,“这里定义了一个名为body的变量,它属于some View。”

简单来说,它的作用是让ContentView知道要显示的内容,也就是接下来代码里的Text字段

var这个词是variable的缩写,它又两重意思:

1.它可以用来保存数据

2.它的内容可以改变

和ContentView那一行代码有些不同的是,这里对于body的定义用的是some View,而不是简单的View。在View前面的some代表body这个变量有更大的可能性。

不过目前还不是了解关于some更多细节的时候,你只需要知道通过some,body这个变量可以包含View视图,或是其它行为跟视图类似的对象(虽然不属于View视图,但拥有跟View相同的属性和方法)。

这么说估计大家还是有点小迷糊。不过没关系,随着课程的继续,大家会逐渐懂的。

接下来的代码其实是对方法的调用:

 Text("2020年面对困难不要害怕,武汉加油!")
 .fontWeight(.black)
 .foregroundColor(.red)

这小段代码中,第一行的作用是创建一个Text文本对象,它是只读的文本,可以显示在屏幕上。

接下来在引号中设置了文本对象的内容,也就是“2020年面对困难不要害怕,武汉加油!”

下面两行代码的作用是调用了两个不同的方法。

1.第一行代码调用了Text对象的fontWeight()方法,并提供了一个值black,用来代表font weight,也就是我们常见的黑体。

2.第二行代码调用了Text对象的color()方法,并提供了一个值red,也就是让文本颜色显示为红色。

通过这两个方法的调用,其结果是让文本内容显示红色加粗字体。

整个过程可以用下面的图来显示:

这种在同一个对象上连续调用两个或多个方法的过程,又被称为“方法链”。如果你之前学过前端开发中的javascript语言,对这种语法形式应该不会感到陌生。

好了,到目前为止,我们已经完成了最基本的面向对象编程:

1.创建(或初始化)了一个Text 对象,并设置了文本对象要显示的内容属性。

2.连续调用了Text对象的两个不同方法,从而将其字体设置为红色加粗显示。

恭喜你!这是你的一小步,却是编程开发学习中的一大步。

如果还有一些不懂的地方,不要担心,我们会在后续的学习中反复提到和实践这些概念和名词,直到它们成为你的本能。

再次强调,无他,唯手熟尔。

发布于 05-02

文章被以下专栏收录