iOS中块(Objective-C)和闭包(Swift)之间的区别

在教程中,他们写到在功能上是相同的,即使闭包比阻塞更容易,并且避免了块和内存管理的复杂性,我看过很多教程,但是除了这些,我没有理解swift的“

closure”和Objective-C“块”。

回答:

摘录自:Apple Inc.“将Swift与Cocoa和Objective-C结合使用。” iBooks:

“ Swift闭包和Objective-C块是兼容的,因此您可以将Swift闭包传递给需要块的Objective-

C方法。Swift闭包和函数具有相同的类型,因此您甚至可以传递Swift函数的名称。

闭包与块具有相似的捕获语义,但是在一个关键方面有所不同:变量是可变的,而不是复制的。换句话说,Objective-

C中__block的行为是Swift中变量的默认行为。”

以上是 iOS中块(Objective-C)和闭包(Swift)之间的区别 的全部内容, 来源链接: utcz.com/qa/417191.html

回到顶部