Tag: 迅速结构

在closures类和结构的Swift可变结构行为有所不同

我有一个类(A)有一个结构variables(S)。 在这个类的一个函数中,我调用了structvariables的变异函数,这个函数需要一个闭包。 这个闭包的主体检查结构variables的名称属性。 Struct的变异函数依次调用某个类(B)的函数。 这个类的函数再次closures。 在这个闭包的主体中改变结构,即改变name属性,并调用第一个类提供的闭包。 当第一个类(A)闭包被调用时,我们正在检查结构的名称属性,它永远不会改变。 但是在步骤2中,如果我使用结构(C)而不是类B,则会发现类A的闭包结构实际上已更改。 以下是代码: class NetworkingClass { func fetchDataOverNetwork(completion:()->()) { // Fetch Data from netwrok and finally call the closure completion() } } struct NetworkingStruct { func fetchDataOverNetwork(completion:()->()) { // Fetch Data from netwrok and finally call the closure completion() } } struct ViewModelStruct { /// Initial value var data: […]