继续创作,加速生长!这是我参与「日新方案 6 月更文挑战」的第9天,点击检查活动详情。

在本章中,你将学会存储特点、核算特点及特点调查器的运用。

前语

Apple官网或者网上共享的教程类文章不同,我将以实践开发角度讲述Swift言语的一些概念和用法,方便大家更好地学习和把握Swift言语。

这同时也是对自己学习Swift言语过程的知识收拾。

如有过错,以你为准。

咱们新建一个SwiftUI项目,命名为SwiftUIPorperty

Swift实用小册09:存储属性、计算属性及属性观察器的使用

特点的概念

特点,一般指的是基本的数据类型。

特点能够分为贮存特点核算特点。存储特点能够用于类和结构体中,不能够用于枚举,核算特点能够用在类、结构体、枚举。

贮存特点

Swift的类和结构体中,特点能够用var声明的变量成员的特点,也能够是用let声明的常量成员的特点。这样的直接读写赋值的特点,咱们叫做贮存特点。

比如咱们需求界说一个结构体,用于减少代码使得编程更加高雅,示例:

//特点的声明
struct buttonView: View {
//特点
var title: String
var bgColor: Color
var body: some View {
Button(action: {
// 操作
print("登录成功")
}) {
// 按钮款式
Text(title)
.font(.system(size: 14))
.frame(minWidth: 0, maxWidth: .infinity)
.padding()
.foregroundColor(.white)
.background(bgColor)
.cornerRadius(5)
.padding(.horizontal, 20)
}
}
}

上述代码中,咱们界说了一个buttonView的结构体,它的实例中包含一个title变量贮存特点和bgColor变量贮存特点。它们存储着变量的类型和初始值,在运用时,咱们需求给两个存储特点赋予对应特点类型的初始值。示例:

struct ContentView: View {
var body: some View {
VStack {
buttonView(title: "微信登录", bgColor: Color(red: 88 / 255, green: 224 / 255, blue: 133 / 255))
buttonView(title: "Apple登录", bgColor: Color(red: 51 / 255, green: 51 / 255, blue: 51 / 255))
}
}
}

上述代码中,咱们在运用buttonView结构体的存储特点时,经过赋予特点类型的值的方式,在ContentView结构体中展现了buttonView结构体所包括的内容。

Swift实用小册09:存储属性、计算属性及属性观察器的使用

核算特点

别的,特点还有一种类型,叫做核算特点。

核算特点和贮存特点不同,核算特点不存储值,和它的称号一样,只用来做核算,它只依据已有信息返回核算成果。由于核算特点没有值,假如咱们要取得特点值,咱们需求用到get的方法来间接取得特点的值。示例:

//特点的声明
class nickName {
var firstName = "文"
var lastName = "雨"
var allName: String {
get{
return firstName + lastName
}
}
}

上述代码中,咱们界说了一个nickName的结构体,它有两个成员变量firstNamelastName,咱们给这两个变量赋予了初始值。

然后咱们声明晰一个String类型的allName变量,它的值是由get获取到的firstNamelastName拼接得到的成果。

特点调查器

特点调查器是用来监控和响应初始化的特点值的改变。

特点调查器有两个重要的调查者:willSet调查者didSet调查者willSet调查者会在该值被存储之前被调用,didSet调查者会在一个新值被存储后被调用。

//特点调查器
class Calculator {
var number: Int = 0 {
willSet {
print("存储中")
}
didSet {
if number > oldValue {
print("更改新的值存储")
}
}
}
}

上述代码中,咱们界说了一个Calculator结构体,然后声明晰一个变量number,它是Int类型,初始值为0

然后咱们运用了willSet调查者和didSet调查者,只需number被调用了,就打印输出“存储中”的文字。

假如咱们从头给number赋值了,咱们就判别下number赋值后新的值和oldValue原本旧的值对比,就达到了咱们赋了新值就打印输出“更改新的值存储”文字。

Swift实用小册09:存储属性、计算属性及属性观察器的使用

以上便是本章的全部内容。

快来动手试试吧!

假如本专栏对你有协助,不妨点赞、评论、关注~