我使用@property在我的AppDelegate中创建了一个数组(NSMutablearray),我无法在其他类中访问此数组(尽管我使用了#import“AppDelegate”)。
这是我的数组属性的减速:
@property(nonatomic,strong) NSMutableArray *photoArray;
这是我的数组初始化(Appdelegate.m):
photoArray = [[NSMutableArray alloc] init];
PhotoItem *photo1 = [[PhotoItem alloc] initWithPhoto:[UIImage imageNamed:@"1.jpg"] name:@"roy rest" photographer:@"roy"];
PhotoItem *photo2 = [[PhotoItem alloc] initWithPhoto:[UIImage imageNamed:@"2.jpg"] name:@"roy's hand" photographer:@"roy"];
PhotoItem *photo3 = [[PhotoItem alloc] initWithPhoto:[UIImage imageNamed:@"3.jpg"] name:@"sapir first" photographer:@"sapir"];
PhotoItem *photo4 = [[PhotoItem alloc] initWithPhoto:[UIImage imageNamed:@"4.jpg"] name:@"sapir second" photographer:@"sapir"];
[photoArray addObject:photo1];
[photoArray addObject:photo2];
[photoArray addObject:photo3];
[photoArray addObject:photo4];
现在,我想访问其他类中的数组对象,我该怎么做?
谢谢!
答案 0 :(得分:0)
要访问AppDelegate属性,您必须获取代理的实例。
MyAppDelegate *delegate = (MyAppDelegate*)[[UIApplication SharedApplication] delegate];
delegate.photoArray //Do something
这允许您使用delegate.photoArray访问它。
还有其他一些方法,但只需简单访问即可快速轻松。
答案 1 :(得分:0)
创建一个单例类,并将其命名为commonData,以保留要在屏幕中使用的数组和公共数据。