- 结构体 和 枚举 是 值类型,默认情况下,值类型的属性不能被自身的实例方法修改
- 在 func 关键词前加 mutating 可以允许这种修改行为,如下代码:
mutating func addEmoji(_ text: String, x: Int, y: Int, size: Int) {
uniqueEmojiId += 1
emojis.append(Emoji(text: text, x: x, y: y, size: size, id: uniqueEmojiId))
}
参考博客:
Swift语法 Swift5 【09 - 方法】