Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在意志集中捕捉“自我”_Ios_Swift - Fatal编程技术网

Ios 在意志集中捕捉“自我”

Ios 在意志集中捕捉“自我”,ios,swift,Ios,Swift,如果我有一个集合视图委托帮助器类,其属性如下所示: weak var delegate: UICollectionViewDelegate? { willSet { self.collectionView?.delegate = newValue } } self是否会在willSet块中被捕获 与其他块不同,您不能在will set块上执行[无主自]或[弱自]。在我有collectionView?.delegate=和self.collectionView?.

如果我有一个集合视图委托帮助器类,其属性如下所示:

weak var delegate: UICollectionViewDelegate? {
    willSet {
        self.collectionView?.delegate = newValue
    }
}
self
是否会在
willSet
块中被捕获

与其他块不同,您不能在will set块上执行
[无主自]
[弱自]
。在我有
collectionView?.delegate=
和self.collectionView?.delegate=
的情况下,总是调用
deinit
,向我表明在setter块中是否使用
self`没有什么区别。

它只是一个,不是块,这意味着它不会保留/复制/捕获任何对象,因此您可以在其中安全地使用
self

顺便说一下,我将为该变量实现getter和setter,因为您定义它只是为了能够更新collectionView的委托属性:

weak var delegate: UICollectionViewDelegate? {
  get {
    return self.collectionView?.delegate
  }
  set {
    self.collectionView?.delegate = newValue
  }
}

杰出的如果你把这个作为答案,我会接受的。这是一个很好的观点,我一定会这么做。属性观察者规则是否也适用于
get
set
块?是的,它们也适用。它们根本不是块。这就是编译器识别为块之外的独立的语法吗?是的,没错。一个块有一个类型,它是用
var
let
关键字定义的,就像一个正则变量一样。Hi@Ozgur。我看不到您在此处共享的“property observer”链接中的任何文档,这些文档支持您关于这些不是块或未捕获self的说法。尽管如此,我确实相信你,但我希望找到一些支持证据。你还有其他链接吗?