iphone dev создает массив, доступный из нескольких контроллеров представления - PullRequest
1 голос
/ 18 января 2010

У меня есть массив arryImages, который я хотел бы объявить только один раз и получить к нему доступ с нескольких контроллеров представления, но я не могу понять, где его разместить.

У меня есть отдельный класс (Variables.m), который содержит следующий код

 @implementation Variables

//images array
arryImages = [NSArray arrayWithObjects:
              [UIImage imageNamed: @"ico-company.png"],
              [UIImage imageNamed: @"ico-value.png"],
              [UIImage imageNamed: @"ico-date.png"],
              [UIImage imageNamed: @"ico-notes.png"], nil];

@end

В моем классе viewcontroller (который я хочу получить доступ к массиву) я добавил:

#import "Variables.h"

Я попытался поиграть с @synthesize, но не могу получить доступ к массиву arrayImages.

(Использование вызова imageView2.image = [arryImages objectAtIndex: [indexPath row]];) Ps.это прекрасно работает, когда он чуть выше кода, но не в отдельном классе.

Чего мне не хватает?

С уважением

1 Ответ

1 голос
/ 18 января 2010

Вы должны объявить ваш массив как свойство. Синтезируйте его и инициализируйте в вашем методе ViewDidLoad.

т.е. заголовок

@interface AddFriendViewController : UIViewController {
 NSArray *arryImages;
}

@property (nonatomic, retain) NSarray *arryImages ;

@end

реализация:

@synthesize arryImages;

- (void)viewDidLoad {
    [super viewDidLoad];
    arryImages = [NSArray arrayWithObjects:
          [UIImage imageNamed: @"ico-company.png"],
          [UIImage imageNamed: @"ico-value.png"],
          [UIImage imageNamed: @"ico-date.png"],
          [UIImage imageNamed: @"ico-notes.png"], nil];
}

Если вы хотите разделить переменную между представлениями, вы должны добавить делегата приложения и получить к нему доступ оттуда.

NSArray *arryImages = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] arryImages];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...