swift如何在class和struct中做出正确选择??

swift学习中。。。
之前写swift的MVC demo,其中的model我是用的class。一个同学说建议我用struct,因为“值类型和引用类型的区别。大多数情况下,值语义就能满足客户端的需求了”。
对他的回答我持半信半疑态度,所以就来这里请教下swift老司机:你们会在什么时候使用struct而不是class
希望举例说明。?

阅读 5.1k
3 个回答

我专门考虑过这个问题:我的博客

如果只想看结论,只需要看最后一段就好。

看个人选择吧。
个人倾向是 struct,但是有些需要和 oc 交互的,那么会选择 class。毕竟 swift 的struct 在 oc里面是用不了的。

两年后的自己来回答:用struct还是class主要看你需要值传递还是地址传递。
我的个人体验是:当需要拿到这个model并且在多个地方修改这个model的时候,显然地址传递比值传递更好用,此时我会用class。至于用struct的情况,emmm,既然在某些地方用class比struct有绝对优势,那就全部用class吧,保存统一,毕竟一些model用class,一些model又用struct,看着就蛋疼。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题