gpt4 book ai didi

ViewController 扩展中的 Swift @IBActions

转载 作者:行者123 更新时间:2023-12-04 04:17:32 25 4
gpt4 key购买 nike

我注意到在 Swift/Xcode 11 中,您不能按住 Ctrl 键将 IB 对象拖动到 ViewController 扩展中来创建 IBAction,但您可以将其剪切/粘贴到 ext 中。在按住 Ctrl 键拖动以在 ViewController 类中创建 IBAction 之后,它就可以工作了。使用复制和粘贴将 IBAction 移动到 ViewController 扩展有什么问题吗?为什么 Ctrl 拖动不适用于 VC 扩展?当我注意到这一点时,我正在将 UITextView 操作放在带有其他 TextView 功能的 ext 中,但不完全理解为什么 ctrl-drag 不起作用但剪切/粘贴似乎没有显示任何问题。感谢您考虑 Q。

最佳答案

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

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

据我所知,当 Storyboard 中的 VC 类与您要拖入的对象的类直接匹配时,控件拖动起作用。

我从未尝试过拖动到扩展中,但我知道这可能会很复杂,因为扩展中不允许存储属性,这会增加复杂性,因为您也可以拖动 socket 。

但是,我还在父类上完成了IBAction/IBOutlet,当我开始从现有的 IBAction 中拖动时,我能够让它工作func(代码左侧有一个圆圈)到子类的 Storyboard。

简而言之,我假设有很多假设和代码正在完成,以允许您从 Storyboard拖到代码上,而且我很确定限制是由于处理极端情况的复杂性造成的。如果存在损坏的角落案例的可能性,Apple 通常会选择根本不允许行为。创建这些连接的其他一些方法(如复制和粘贴)可能更简单。

关于ViewController 扩展中的 Swift @IBActions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60325955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com