有什么办法可以保持Swift闭包吗?

die*_*yas 5 persistence closures ios swift

我需要持久化闭包,但是在Swift中可用的任何持久化方法似乎都不可能,而且我似乎也找不到任何信息。

Ala*_* T. 2

由于闭包的“代码”部分是固定的(已编译的),因此无需保留它,您只需使用关键字或其他标识符保留对它的引用。这可以使用例如引用函数的字典(即函数工厂)来实现。

真正需要持久化的是闭包捕获的变量。这相当于函数的参数。

所以基本上,您应该以不同的方式处理您的问题并定义一组函数关键字和参数列表。您可以轻松地保留这些数据,然后通过将参数传递给与关键字关联的函数工厂来“执行”数据。