很高兴见到 Objective-C 的老司机对于 Swift 的新鲜语法结构和新思维方式感到如此兴奋。作为开发者,我们应该永远努力拓展我们的技能,并在新的范式出现的时候乐于改变我们的心态。 一个类似的例子就是处理数据结构的时候,拥抱不可变性,尽量使用常量,这是一个很好的建议而且完全应该被采用。另一个例子是把我们的数据模型转换为 Struct(结构体)。这是听起来很美好,但在实际运用中,彻底地使用 Struct 来代替 Class(类),还是给开发者带来很多困难。 不要误会我的意思,用 Struct 作为数据模型确实带来了非常大的好处。 只是这并不是完美的办法。在这篇文章中,我会详细说明一下当你把数据模型从 Class 转换成 Struct 时会遇到的麻烦。