1

我有一个父 UIViewController,从中我呈现一个嵌入 UINavigationController 的 UITableViewController,我必须从中选择一些行(在我的情况下为带有人名的行),将它们添加到 mutableArray 中,我必须将其发送回 UIViewController。

我尝试了一个正常的协议:

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

然后在 TableViewController.m ... -(IBAction)dissmisController:(id)sender { [self.delegate sendFrom:self theList:_theListOfPersons]; [自我dismissViewControllerAnimated:是完成:无];}

然后是 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);

答案是:(空)

谁能解释一下?

4

0 回答 0