2015-06-05 3 views
-1

Я новичок в 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!

+0

Возможно, вам нужно опираться на то, как реализовать правильный _model-layer_, если передача данных между классами вызывает такую ​​проблему для вас. (тем не менее, это тысячная позиция примерно такая же, только на этом сайте.) – holex

+0

Возможный дубликат [Передача данных между контроллерами просмотров] (http://stackoverflow.com/questions/5210535/passing-data-between -view-контроллеры) – bgfriend0

ответ

0

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

Затем вы можете использовать методы делегата, чтобы указать количество строк в каждом разделе в зависимости от размера вашего массива, а затем использовать другой делегат, чтобы указать, что отображать в каждой ячейке этого вида таблицы.

Вы можете найти множество интересных руководств в Интернете с помощью быстрого поиска в Google. Вот как я начал

Вот пример: http://www.appcoda.com/ios-programming-tutorial-create-a-simple-table-view-app/

Вы, конечно, использовать много UITableViews в будущем. Не помешало бы потратить время и узнать, как они работают.

Наслаждайтесь кодированием!

Смежные вопросы