如何在不同的类中访问数组

时间:2012-06-01 16:33:45

标签: objective-c xcode class properties nsmutablearray

我使用@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];

现在,我想访问其他类中的数组对象,我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:0)

要访问AppDelegate属性,您必须获取代理的实例。

MyAppDelegate *delegate = (MyAppDelegate*)[[UIApplication SharedApplication] delegate];
delegate.photoArray //Do something

这允许您使用delegate.photoArray访问它。

还有其他一些方法,但只需简单访问即可快速轻松。

答案 1 :(得分:0)

创建一个单例类,并将其命名为commonData,以保留要在屏幕中使用的数组和公共数据。