Я новичок в ios. У меня есть класс ViewController, который сканирует штрих-код и сохраняет результат в NSMutableArray. Затем я хочу показать содержимое массива в TableView, поэтому вам нужно использовать этот массив в другом классе.Передача NSMutableArray между классами
КОД:
APPDELEGATE.H
@property (nonatomic, strong) ViewController *objViewCont;
APPDELEATE.M
@synthesize objViewCont;
VIEWCONTROLLER.H
@property (nonatomic, retain) NSMutableArray *dataSource;
VIEWCONTROLLER.M
@synthesize dataSource;
...
NSString data = //result of scanning
[dataSource addObject:testData];
TABLEVIEWCONTROLLER.M
#import "ViewController.h"
#import "AppDelegate.h"
....
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
AppDelegate *objAppDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
// how to populate table with dataSource ????
}
Теперь, используя objAppDelegate.objViewCont.dataSource у меня есть доступ к массиву. Проблема в том, что: я не знаю, как заполнить таблицу с помощью dataSource!
Возможно, вам нужно опираться на то, как реализовать правильный _model-layer_, если передача данных между классами вызывает такую проблему для вас. (тем не менее, это тысячная позиция примерно такая же, только на этом сайте.) – holex
Возможный дубликат [Передача данных между контроллерами просмотров] (http://stackoverflow.com/questions/5210535/passing-data-between -view-контроллеры) – bgfriend0