将对象从 AppDelegate.m 传递到视图控制器
你好,我有一个 iphone 应用程序,我正在其中获取&解析 applicationDidFinishLaunching 中的数据。现在我想将一个 NSMutableArray 中获取的数据传输到我的第一个视图控制器以在那里显示它。
这样做的最好方法是什么...
Hi I have an iphone application in which I am fetching & parsing data in in applicationDidFinishLaunching. Now I want to transfer this fetched data which is in one NSMutableArray to my first view controller to display it there.
Whats the best way of doing this...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过像 initWithDataArray: 这样的 init 来传递它,我认为这已经足够好了。
另一个解决方案,在我看来更糟糕,是将AppDelegate解析到ViewController,然后你可以调用:appDelegate.dataArray,但它会泄漏太多信息
You can past it through the init like initWithDataArray: , I think that is good enough.
Another solution, which imo is worse, is parsing the AppDelegate to the ViewController and then you can call : appDelegate.dataArray but it will leak out too much information
在这种情况下,我更喜欢应用程序委托。
//在AppDelegate.h中声明NSMutableArray对象,现在属性&合成它
//将您的数据存储在 NSMutableArray 对象中
//在您的视图控制器类中创建 ApplicationDelegate 对象
yourApplicationAppDelegate *appDelegate;
appDelegate = (yourApplicationAppDelegate *)[[UIApplication共享应用]委托];
现在您可以通过应用程序中的任何位置的 appDelegate 访问 NSMutableArray 对象
Application Delegate is what i prefer in this case.
//Declare NSMutableArray object in AppDelegate.h ,Now property & synthesize it
//Store your data in NSMutableArray object
//Create ApplicationDelegate object any your View Controller Class
yourApplicationAppDelegate *appDelegate;
appDelegate = (yourApplicationAppDelegate *)[[UIApplication sharedApplication] delegate];
Now you can access NSMutableArray object through appDelegate any where in your application