2012-01-06 6 views
-2

У меня есть два UITableViewControllers (подключен к UINavigationController). Когда я нажимаю на UITableViewCell на первом контроллере, я создал segue, чтобы второй контроллер появился в поле зрения. Я хочу иметь переменную во втором контроллере представления, которая содержит текст на выбранном. Как мне это сделать? Я пробовал передать его напрямую, но по какой-то причине это не работает.Простейший способ передать свойство UITableViewController

ответ

0

Объявите свойство (например, SelectedText - NSString) на получающем контроллере представления (в этом случае мы будем называть его SecondTableViewController). Вот код:

В SecondTableViewController.h:

@interface SecondTableViewController : UITableViewController { 

} 

@property(nonatomic, strong) NSString *selectedText; 

В SecondTableViewController.m:

@implementation SecondTableViewController 
@synthesize messageDetail; 

В вашем FirstTableViewController.m:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Make sure we are dealing with the proper Segue 
    if ([segue.identifier isEqualToString:@"idOfMySegue"]) { 
     SecondTableViewController *svc = segue.destinationViewController; 
     svc.selectedText = myVarValue; // This can be got from either setting another var in the tableviewcontroller or by just passing the entire object at the selected index of the NSIndexPath.row (if you are populating the tableview with an array. Note you would change the object type of the passed along object from an NSString to whatever the other object is. 
    } 
} 

Метод prepareForSeque является где вы передаете любые данные или объекты из одного представления в другое.

+0

единственная проблема, я не могу получить доступ к любому свойства класса внутри prepareForSegue (класс, который prepareForSegue напечатанное в) – blake305

+0

Вы можете получить доступ к тем, до тех пор, как вы включаете ссылку на SecondTableViewController в файле FirstTableViewController.m –

+0

Если у вас пришлите мне то, что у вас есть сейчас. Я постараюсь помочь вам разобраться в проблеме. –

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