Ios Can';无法获取要执行的自定义委托方法

Ios Can';无法获取要执行的自定义委托方法,ios,delegation,Ios,Delegation,我使用两个视图控制器(故事板)。一个是标准的ViewController,另一个是TableViewController。我在TableViewController中设置了一个自定义协议,这个方法名为didSelectWith,有两个参数,class和一个NSString。它在TableViewControllerdelegate方法didSelectRowAtIndexPath中被调用 其思想是,从第一个视图控制器segue到表视图的一个按钮,获取单元格textlab.text中的字符串,然后

我使用两个视图控制器(故事板)。一个是标准的
ViewController
,另一个是
TableViewController
。我在
TableViewController
中设置了一个自定义协议,这个方法名为
didSelectWith
,有两个参数,class和一个
NSString
。它在
TableViewController
delegate方法
didSelectRowAtIndexPath
中被调用

其思想是,从第一个视图控制器segue到表视图的一个按钮,获取单元格
textlab.text中的字符串,然后返回到第一个视图控制器。然后,它解除表视图控制器,并为该字符串设置一个简单的标签对象。到目前为止,我无法回到第一个视图控制器

以下是来自表视图控制器的代码:

#import <UIKit/UIKit.h>

@class DeparmentsViewController;

@protocol deparmentsDelegate <NSObject>

-(void)didSelectWith:(DeparmentsViewController *)controller department:(NSString *)department;

@end

@interface DeparmentsViewController : UITableViewController

@property (nonatomic, weak) id <deparmentsDelegate> delegate;

@end
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"departmentsSegue"]) {
        self.vc = [segue destinationViewController];
        DepartmentViewController
        self.vc.delegate = self;
    }
}

-(void)didSelectWith:(DeparmentsViewController *)controller department:(NSString *)department
{
    [controller dismissViewControllerAnimated:YES completion:nil];
    self.departmentLabel.text = department;
    NSLog(@"Delegate method called within ViewController");
}
以下是来自第一视图控制器的代码:

#import <UIKit/UIKit.h>

@class DeparmentsViewController;

@protocol deparmentsDelegate <NSObject>

-(void)didSelectWith:(DeparmentsViewController *)controller department:(NSString *)department;

@end

@interface DeparmentsViewController : UITableViewController

@property (nonatomic, weak) id <deparmentsDelegate> delegate;

@end
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"departmentsSegue"]) {
        self.vc = [segue destinationViewController];
        DepartmentViewController
        self.vc.delegate = self;
    }
}

-(void)didSelectWith:(DeparmentsViewController *)controller department:(NSString *)department
{
    [controller dismissViewControllerAnimated:YES completion:nil];
    self.departmentLabel.text = department;
    NSLog(@"Delegate method called within ViewController");
}

所有必要的插座都相应地连接起来。如果需要更多的代码,我可以尽快编辑这篇文章。

do NSLog to log 1。self.vc&2。要记录self.delegate,是否调用了“准备”segue?这是一个推送或模式序列?部门视图控制器行是什么?
DepartmentsViewController
TableViewController
类。它有5个单元,包括人力资源部、办公室、仓库等办公部门。@Wain-这是一个模态序列