<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Taurus_ZZM的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Taurus_ZZM</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Taurus_ZZM]]></copyright><item><title><![CDATA[Swift 进阶：属性]]></title><link>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122245261</link><guid>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122245261</guid><author>Taurus_ZZM</author><pubDate>Wed, 05 Jan 2022 17:16:53 +0800</pubDate><description><![CDATA[一、存储属性
]]></description><category></category></item><item><title><![CDATA[深入探索 Swift 中的方法及其调度]]></title><link>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122237168</link><guid>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122237168</guid><author>Taurus_ZZM</author><pubDate>Thu, 30 Dec 2021 19:34:38 +0800</pubDate><description><![CDATA[一、方法

我们知道，在 Swift 中，class 声明类类型， struct 声明结构体。类类型属于引用类型，结构体属于值类型。那么对于他们在方法上面的区别有什么体现？



可以看到，同样的方法声明，结构体却会报错。这是为什么？

为什么如下加上关键字 mutating 就可以了





因为值类型属性不能被自身的实例方法修改。

那我们可以通过SIL 文件来看一下加上关键字的区别：

不加 mutating 关键字：



加上 mutating 关键字：

可以看到，加上了关键字之后，...]]></description><category></category></item><item><title><![CDATA[深入探索 Swift 中的类与结构体]]></title><link>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122186486</link><guid>https://blog.youkuaiyun.com/Taurus_ZZM/article/details/122186486</guid><author>Taurus_ZZM</author><pubDate>Tue, 28 Dec 2021 16:35:05 +0800</pubDate><description><![CDATA[一、初识类与结构体

首先，我们来看一下类的定义：


class Person {
    var age: Int
    var name: String

    init(age: Int, name: String) {
        self.age = age
        self.name = name
    }
}

以及结构体的定义：


struct Person {
    var age: Int
    var name: String

    init(age: I]]></description><category></category></item></channel></rss>