Я пытаюсь получить переменную из класса, который я создал из табличного представления.По сути, я хочу сообщить другому контроллеру, какая строка была выбрана, поэтому я попытался это сделать.
Файл таблицы. Класс .h:
@property(nonatomic) NSInteger itemId;
-(NSInteger)itemId;
Я бы тогдасоздать методы, которые устанавливают и получают переменную в файле .m класса Table View (я синтезировал и сделал все это, я просто показываю вам методы)
-(NSInteger)itemId {
return self.itemId;
}
А теперь таблицаметод выбранной ячейки ...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
indexPath {
NSUInteger row = [indexPath row];
self.itemId = row;
//segue stuff (if you want me to include this just let me know)
}
Вот и все для этого класса, а теперь и того класса, который мне нужен для значения View Controller Class .h, который проталкивается с помощью segue
@property (nonatomic) NSInteger itemId;
View Controller Class .m
#import "TableViewController.h"
//Skip a few things
@synthesize itemId;
//skip a few things
-(void)viewDidLoad {
TableViewController *tvc = [[TableViewController alloc] init];
itemId = [tvc itemId];
NSLog(@"%i", itemId);
По некоторым причинам это не работает ... Когда я распечатываю "itemId" в методе "didselectrow", он возвращает правильное число, но когда я пытаюсь напечататьэто в другом классе, это просто дает мне «0» Есть мысли?Если есть что-то, что я хотел бы увидеть в моем коде, я был бы очень рад написать это :) Я просто хотел сэкономить время и пространство, немного урезав код.Заранее спасибо!
РЕДАКТИРОВАТЬ: Я нашел возможное решение, но оно предполагает использование делегата.Я уверен, что должен быть лучший способ сделать это, так что если у вас есть какие-либо идеи, просто дайте мне знать.