【Swift 60秒】79 - Mutability

0x00 Lesson

The final difference between classes and structs is the way they deal with constants. If you have a constant struct with a variable property, that property can't be changed because the struct itself is constant.

However, if you have a constant class with a variable property, that property can be changed. Because of this, classes don't need the mutating keyword with methods that change properties; that’s only needed with structs.

This difference means you can change any variable property on a class even when the class is created as a constant - this is perfectly valid code:

class Singer {
	var name = "Taylor Swift"
}
let taylor = Singer()
taylor.name = "Ed Sheeran"
print(taylor.name)

If you want to stop that from happening you need to make the property constant:

class Singer {
	let name = "Taylor Swift"
}

0x01 我的小作品

欢迎体验我的作品之一:小五笔
五笔学习好帮手
App Store 搜索即可~


猜你喜欢

转载自blog.csdn.net/xjh093/article/details/128625230
今日推荐