![]() |
1
3
这里是一个允许任何块类型属性用作操作的黑客程序: http://gist.github.com/589740 正如你所说,这是学术上的好奇心。我真的不建议在reals上使用它。 此外,它并不能严格满足您的要求,因为该操作是在未实现的类别中声明的。这纯粹是为了让接口生成器可以通过扫描头文件自动找到它。您可以删除它并在IBS检查器中手动添加该操作,但这对我来说似乎是一个损失,因为以这种方式保持同步很难。 |
![]() |
2
4
Ahruman的方法很好,但它可能过于依赖运行时。除性能问题外,还包括旋转和使用
在类的顶部(或任何地方,真的)定义这些宏:
现在要创建一个新操作,只需替换
并在实施过程中通过以下方式“综合”IT:
在任何时候,如果您想要覆盖它并使用普通的操作方法,您所需要做的就是像往常一样合成和实现该操作。
这比运行时更快(在我看来更干净),而且
|
![]() |
3
1
不必诉诸于“把通常会出现的代码放在
扩展一个控件是可能的,这样它就可以调用一个块,而不是向控制器发送一个普通的操作方法,但这将需要更多的代码,而且它不会神奇地使接口生成器支持它。 |
![]() |
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 8 月前 |
![]() |
routern · 如何组合contextMenu和圆角矩形? 8 月前 |
![]() |
DevHome98 · 3D触摸不适用于设备swift 1 年前 |
![]() |
dunoiww · 从全屏返回时如何触发onAppear 2 年前 |
![]() |
Community wiki · iPhone上ivar的继承问题 2 年前 |
![]() |
Community wiki · 查找iOS日历 2 年前 |
![]() |
Community wiki · 有效的IPhone编程技术[关闭] 2 年前 |