将 Class 结果放入第二个 viewController
Posted
技术标签:
【中文标题】将 Class 结果放入第二个 viewController【英文标题】:Put Class results in a second viewController 【发布时间】:2014-07-22 10:49:27 【问题描述】:我有一个 UIViewController,我在其中导入了一个类:
#import "differenza.h"
然后我在按下按钮时创建了该类的实例:
- (IBAction)ok:(id)sender
differenza *classeDifferenza;
classeDifferenza = [[differenza alloc] init];
[classeDifferenza metodo];
如您所见,我还调用了一个方法....现在我在 UIViewController 中没有足够的空间来显示该方法的结果,所以我需要一个新的 ViewController 来显示所有结果...但是我不知道如何从那个新的 ViewController 中调用结果,因为我不能使用
classeDifferenza.variabile
方式....
这是我还没有真正得到的东西。过去我使用(感谢您的帮助:Setting up class instances in a multi view app (Objective C))一个“公共类”来存储所有数据和所有方法......但我不认为这总是正确的方法......我觉得我是滥用该解决方案......或者这是我描述的正确方法?
谢谢!
【问题讨论】:
我会将differenza
对象设为实例变量,并使用委托从新视图控制器回调以检索调用metodo
的结果。
这与您在底部提到的问题完全相同,将 differenza
对象作为属性放在单例(您称之为“公共类”)上,然后您可以访问它从您的应用程序内的任何地方。这里的另一种方法是将其作为属性存储在实际类上并实现 prepareForSegue: 并将其传递给那里的destinationViewController
。另外,如果您刚刚开始 ios 开发,我建议您在 iTunes U 上观看斯坦福大学最新的 iOS 开发课程,这对入门很有帮助!
【参考方案1】:
您可以使用prepareForSegue
传递数据检查此主题
How to pass prepareForSegue: an object
你可以像这样发送可变结果
【讨论】:
以上是关于将 Class 结果放入第二个 viewController的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 PageViewController 将 viewController 的数据传递给 pageViewController 的第二个 ViewController
Autolayout UILabel 高度在第二个视图外观上发生变化
带有 CGPath 的 UIView 和另一个包含第一个 UIView 的 UIView。如何将第一个视图放入第二个视图?