ViewController扩展中的Swift @IBActions

加洛

我已经在Swift / Xcode 11中注意到,您无法将IB对象ctrl拖动到ViewController扩展中以创建IBAction,但是可以将其剪切/粘贴到ext中。在ctrl拖动后在ViewController类中创建IBAction并起作用。使用复制和粘贴将IBAction移至ViewController扩展时出现任何错误?为什么Ctrl拖动不适用于VC扩展?当我注意到这一点时,我将UITextView动作放在了一个带有其他TextView函数的扩展中,但是我不完全理解为什么ctrl拖动不起作用,但是剪切/粘贴似乎没有问题。Thx考虑Q。

除非有人为Apple工作,否则我不确定我们是否会在这里得到实际的答案。我可以猜测并给您一个对我有用的替代方法。

从Xcode功能实现的角度来看,支持这些操作的代码可能会有所不同。

从我已经看到的内容中,当情节提要上的VC类与您要拖动到的对象的类直接匹配时,控制拖动就起作用了。

我从未尝试过将其拖入扩展名,但是鉴于扩展名上不允许存储属性,因此我可以看到这可能会很复杂,如果您也可以拖动出口,则会增加复杂性。

但是,我还在父类上完成了IBAction/ IBOutlet,当我开始从现有的IBAction函数(在代码的左侧有一个圆圈)拖动到儿童班。

简而言之,我假设要进行很多假设和代码编写,以使您能够从情节提要拖放到代码上,而且我敢肯定,限制是由于处理极端情况而造成的。如果存在破损的情况,苹果通常会选择完全禁止行为。创建这些连接的其他一些方式(例如复制和粘贴)可能更简单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章