XCODE 如何跨不同视图使用 IBAction

Posted

技术标签:

【中文标题】XCODE 如何跨不同视图使用 IBAction【英文标题】:XCODE How to use an IBAction across different views 【发布时间】:2011-08-15 05:13:48 【问题描述】:

是否可以将 IBAction 链接到视图控制器 A 中的按钮并在视图控制器 B 上运行命令?谢谢!

这是适用于 ios 的。

【问题讨论】:

【参考方案1】:

根据我的理解,你不应该从一个 UIViewController 到另一个......这听起来不像是一种有效的模式和一种有效的计算方式。请注意,ViewController 应该只包含与 View 交互相关的代码,并且应该包含与业务相关的代码。

我猜你想做这种事情,因为 UIViewController B 已经打开并且在导航队列中。然后你想对 VC A 和 VC B 共同的内容采取行动。

然后,您应该考虑使用一个业务类来在触发 IBAction 时计算任务。然后,如果您在返回 UIViewController B 时需要刷新任何内容,您应该在 UIViewController 生命周期内处理它:viewWillAppear 将是一个不错的选择(因为如果视图已经加载,则不会再次触发 viewDidLoad)。

希望这会有所帮助。

【讨论】:

你说的有道理,但什么是商务舱?我是新手,不了解所有内容。不过谢谢! Obj-C 的不足之一是缺少名称间距。类需要进行逻辑存储,并且应该位于专用文件夹(业务、通用、数据或 UI)中。逻辑必须集中在我们通常称为业务类(可以匹配任何模式单例、静态、基本的简单类)用于处理程序逻辑的特定类中。当需要执行特定进程时,这些类将为 ViewController 提供服务。 如果你是从 Obj-C 开始的,你可以看看 my class naming convention 提供的例子。

以上是关于XCODE 如何跨不同视图使用 IBAction的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?

如何在 XCode 中预览故事板的不同视图控制器

旋转Xcode时不同的xib文件

如何在 Xcode 中的不同视图控制器上获取持久 iAd

在情节提要 xcode 7 中为具有不同宽度的两个视图设置常量

如何在我的 Xcode Swift 项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?