Swift的最佳实践是什么?
选项1:
class SomeManager {
static var sharedManager = SomeManager()
var someVariable: String?
}
Run Code Online (Sandbox Code Playgroud)
然后
let something = SomeManager.sharedManager().someVariable
Run Code Online (Sandbox Code Playgroud)
选项2:
class SomeManager {
static var someVariable: String?
}
Run Code Online (Sandbox Code Playgroud)
然后
let something = SomeManager.someVariable
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 11
存储可变状态时的选项1(类或结构),因为您需要其他实例.
当您想要存储静态变量时,选项2(作用域全局变量)因为它更快并且使用更少的内存.
全球国家通常被认为是"坏事".这很难思考,导致问题,但有时是不可避免的.
SomeManager
实例,请创建一个类.SomeManager
存储全局状态时相关的重要主题.someVariable
恒定时使用.static var sharedManager = SomeManager()
; 你只使用你真正需要的内存.sharedManager
到内存中然后访问它的成员someVariable
.你直接访问someVariable
.在选项2中,SomeManager
即使它没有做任何事情,您也可以创建.你可以通过变成SomeManager
没有案例的枚举来防止这种情况.
enum SomeManager {
static var someVariable: String?
}
Run Code Online (Sandbox Code Playgroud)
你仍然可以这样做:
SomeManager.someVariable
Run Code Online (Sandbox Code Playgroud)
但你不能这样做
let manager = SomeManger()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1708 次 |
最近记录: |