我正在使用Objective-C编写的应用程序中构建一个功能。我无法发布代码,但我会尝试描述我的世界。我面临的问题与代表有关。
AlphaViewController
将ConnectionView
作为delegate
之一。它有助于对提供给AlphaViewController
的数据执行某些操作,并在AlphaViewController's
视图上显示输出。
当您点击AlphaViewController
中的按钮时,我会显示UIAlertController
。我可以点击按钮打开ReportView
。 BetaViewController
创建ReportView
。
BetaViewController
ReportGenerator
为其delegate
。 ReportGenerator
有助于生成我在BetaViewController's
视图中呈现的HTML。
我的问题是,我想在{{1}中使用ConnectionView's
输出(我相信它是ConnectionView
中的AlphaViewController
对象的一部分)处理它,然后在ReportGenerator
视图中以HTML格式呈现数据。
我一直在努力寻找解决方案,但我们无法找到任何解决方案。我对代表不好。
请帮助我在这里实现我的目标。对不起,我无法发布代码。
答案 0 :(得分:0)
ConnectionView's
的输出从AlphaViewController
传递到BetaViewController
。当您将BetaViewController
作为ReportGenerator
传递数据的委托,即ConnectionView's
输出分配给ReportGenerator
并让ReportGenerator
处理它,然后以HTML格式呈现数据时BetaViewController's
查看。语言似乎很复杂,但可以实现。
还有第二种方法比使用AppDelegate
更简单。您可以在AppDelegate
类中声明和定义属性,并从课堂上的任何位置访问它。
//Interface:
@interface MyAppDelegate : NSObject {
NSString *yourString; // Declare your object
}
@property (nonatomic, strong) NSString *yourString;
...
@end
//and in the .m file for the App Delegate
@implementation MyAppDelegate
@synthesize yourString;
yourString = some string;
@end
//You can access the property to save and retrieve your file. You can save
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.yourString = some NSString; //..to write
Yo可以根据您的要求读取BetaViewController或ReportGenerator中的值
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
someString = appDelegate.myString; //..to read
对于没有。您可以创建模型类的属性,并按上面的定义访问它。