小编Art*_*tov的帖子

Singleton VS静态(类)变量

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)

macos ios swift

13
推荐指数
1
解决办法
1708
查看次数

Flutter:ClipRRect 与带有 BoxDecoration 的容器

我知道 ClipRRect 有额外的选项,比如自定义剪刀。但是如果我只需要一个简单的边界半径,是否有性能差异?更推荐哪一个?

dart flutter

6
推荐指数
1
解决办法
1201
查看次数

闭包递归和保留循环

我的关闭保留了它自己。它会导致捕获内部的所有其他对象。我可以使用弱引用传递这样的对象,但它并不能解决保留循环的问题。在没有保留周期的情况下使用闭包进行递归的正确方法是什么?

class Foo {
  var s = "Bar"
  deinit {
    print("deinit") // Won't be executed!
  }
}

class TestVC: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()

    let foo = Foo() // Weak works, but not the right solution.
    var closure: () -> Void = { return }
    closure = {
      print(foo.s)
      if true {
        return
      } else {
        closure()
      }
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

ios swift

1
推荐指数
1
解决办法
167
查看次数

标签 统计

ios ×2

swift ×2

dart ×1

flutter ×1

macos ×1