我在ViewController.h中有NSMutableArray属性现在我想从appdelegate获取此Array值。 是否有人可以帮助我做到这一点。
在viewcontroller.h中
@property (nonatomic, retain) NSMutableArray *fullImg;
在viewcontroller.m
中@synthesis fullImg;
我还为fullImg分配了值。现在我想在app delegate中获得该值。
提前致谢。
答案 0 :(得分:1)
顶级文件: #import" AppDelegate.h"
你想要使用数组:
AppDelegate *ap = [[UIApplication sharedApplication] delegate];
ap.fullImg // -> USE IT HOW YOU WANT
...
答案 1 :(得分:0)
为viewController
类创建对象时,可以通过创建新的自定义构造函数将数组引用传递给viewController
。即,
//in appdidFinishLaunchingWithOptions
ViewController *viewController = [[ViewController alloc] initWithArray:fullImgArray];
self.window.rootViewController = viewController;
// In ViewController.h
- (id)initWithArray:(NSMutableArray *)fullImgArray;
// In ViewController.m
- (id)initWithArray:(NSMutableArray *)fullImgArray
{
self = [super init];
if (self)
{
self.fulImg = fullImgArray;
}
return self;
}
答案 2 :(得分:0)
有两种可能性。
使用appDelegate。使用app delegate中的属性在ViewContriollers之间传递数据 和AppDelegate。
第一个控制器中的
MyAppdeleagte appDelegate = [[UIApplication sharedApplication] delegate]; appDelegate.fullImg = dataToPass;
在第二个控制器中
MyAppdeleagte appDelegate = [[UIApplication sharedApplication] delegate]; 数据= appDelegate.fullImg;
AppDelegate中的
self.fullImg =数据;
2.指定对象实例。
分配AppDelegate后,在ViewController中,指定当前viewController中的对象实例与AppDelegate中的对象实例相同。为此,在AppDelegate中声明一个NSMutableArray属性。
在AppDelegate.h中
@property NSMutableArray *fullImg;
ViewController.h中的
MyAppdeleagte appDelegate=[[UIApplication sharedApplication]delegate];
appDeleagte.fullImg=self.fullImg;
答案 3 :(得分:0)
您可以使用密钥将整个NSMutableArray放入NSUserDefaults中。
在app delegate:
NSUserDefaults *def=[NSUserDefaults StanderUserDefaults];
[def setObject:fulImg forKey:@"ImageArray"];
在ViewController类中:
NSUserDefaults *def=[NSUserDefaults StanderUserDefaults];
NSMutableArray *yourimgarry=[def valueForKey:@"ImageArray"];