Создайте протокол для извлечения данных из UINavigationController в UIViewController

У меня есть родительский UIViewController, из которого я представляю UITableViewController с вложением в UINavigationController, из которого мне нужно выбрать несколько строк (в моем случае строки с именами людей), добавить их в ведьму mutableArray, которую я должен отправить обратно в UIViewController.

я пробовал нормальный протокол:

@class TableViewController
@protocol TableViewDelegate <NSObject>
-(void)sendFrom:(TableViewController *)controller theList:(NSMutableArray *)list;
@end
... 
@proprety (nonatomic, strong) id<TableViewDelegate> delegate;
...

затем в TableViewController.m ... -(IBAction)dismisController:(id) отправитель { [self.delegate sendFrom:self theList:_theListOfPersons]; [self dismissViewControllerAnimated:YES завершение:nil]; }

тогда ViewController.h

 #import "TableViewController.h"

затем я добавляю делегата

  <TableViewDelegate>

Затем я реализую метод протокола

-(void)sendFrom:(TableViewController *)controller theList:(NSMutableArray *)list
{
     NSLog(@"the list of persons is %@", list);
}

Последнее, что нужно сделать перед тем, как запустить приложение, - установить делегата в segue [[segue destinationViewController] setDelegate:self];

Проблема в том, что мой метод делегата никогда не вызывается. а также, если я проверяю в TableViewController.m viewDidLoad, делегат, как

NSLog(@"%@", self.delegate);

ответ: (ноль)

кто-нибудь может объяснить это?

0 ответов

Другие вопросы по тегам