Swift:模型结构,使用可选项与初始化空值
在Swift
,举个例子,我有一个这个model
的struct
:
struct Message { var message: String = "" var timestamp: String = "" var id: String = "" }
我将使用数据库中的这个struct
实例化多个Messages
,然后用它们填充一个TableView
。
使用可选项而不是像这样的空string设置这些variables是最好的做法吗?
struct Message { var message: String? var timestamp: String? var id: String? }
基本上将variables设置nil
与empty string
会更有效吗? 内存vs empty string
是否占用较less内存?
在考虑优化之前,你必须问自己一个好问题: Message
是否有可能包含一个或几个属性的可选项? 如果是,则使用可选项,否则不使用可选项。
然后,如果你想改善你的代码,你可以使用成员初始值设定为你的struct
:
struct Message { var message: String var timestamp: String? var id: String } let message = Message(message: "Some message", timestamp: nil, id: "Id14")
最后,我怀疑Struct
上的任何内存优化(包含可选或非可选属性)都会给您的应用程序/项目带来显着的改进。
只要有可能就避免select性。 存储的属性并不像它们在objective-c中那样神奇。 只要给他们默认值,如果适当的话。