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 上的自动布局调整对象的大小以适应不同的屏幕尺寸?