Передайте значение indexpath в FirstViewController - PullRequest
1 голос
/ 21 февраля 2012

Я использую два viewcontrollers в моем приложении.У меня есть кнопка в моем FirstViewController.Когда я выбираю кнопку, она нажимает SecondViewController.У меня есть tableView в SecondViewController.Как передать значение indexpath выбранного индекса в tableView SecondViewController в FirstViewController, не используя NSUserDefaults?Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 21 февраля 2012

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

Всегда лучше использовать делегаты (@Protocol) для обратного вызова родительского контроллера представления.

Простой учебник по этому вопросу можно найти здесь

1 голос
/ 21 февраля 2012

Во втором viewcontroller, в котором создается свойство переменной.

@property(nonatomic,readwrite)NSUInteger indexValue;

тогда

@synthesize indexValue= _indexValue;

Then After Создайте объект secondVctr в контроллере firstview;

#import "secondViewcontroller.h"

    @interface firstviewcontroller : UIViewController

@property(nonatomic,strong)secondViewcontroller *objsecondViewcontroller;


@synthesize objsecondViewcontroller =_objsecondViewcontroller;

следующий код вводится в когда пользователь нажал на кнопку этого события.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{    

    CountDown *controller = [[secondvctr alloc] initWithNibName:@"secondvctr" bundle:nil];
    self.objsecondViewcontroller.indexValue=indexPath
    [self.navigationController pushViewController:controller animated:YES];

}
1 голос
/ 21 февраля 2012

Вы всегда можете получить доступ к FirstViewController из доступа SecondViewController через - например, [UIViewController parentController], если FirstViewController имеет свойство с именем selectedRowInSecondController:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 FirstViewController *firstViewController = [self parentController];
 firstViewController.selectedRowInSecondController = [indexPath row];
}
0 голосов
/ 21 февраля 2012

Используйте NSNotifications для передачи значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...