Ios 如何在objective c中使用segue创建委托协议

Ios 如何在objective c中使用segue创建委托协议,ios,objective-c,iphone,uitableview,Ios,Objective C,Iphone,Uitableview,firstViewController中的iAction -(IBAction)pickValue:(id)sender { dropDownVController *drp = [self.storyboard instantiateViewControllerWithIdentifier:@"drpVC"]; drp._delegateValue=self; } -(void)tableView:(UITableView *)tableView didSelectRowA

firstViewController中的iAction

-(IBAction)pickValue:(id)sender
{
    dropDownVController *drp = [self.storyboard instantiateViewControllerWithIdentifier:@"drpVC"];
    drp._delegateValue=self;

}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger intVal = indexPath.row+1;
    [self._delegateValue selectedValue:[NSString stringWithFormat:@"%ld",(long)intVal]];

}
第二视图控制器中的代码

-(IBAction)pickValue:(id)sender
{
    dropDownVController *drp = [self.storyboard instantiateViewControllerWithIdentifier:@"drpVC"];
    drp._delegateValue=self;

}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger intVal = indexPath.row+1;
    [self._delegateValue selectedValue:[NSString stringWithFormat:@"%ld",(long)intVal]];

}
它没有返回到
firstviewcontroller
方法

 -(void)selectedValue:(NSString *)value
 {
   [valTextfld setText:value];
 }

您没有显示此控制器dropDownVController*drp。我认为您使用的是segue,应该在prepareForSegue:method中设置委托,下面是目标C中swift convert的一个示例

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "YOUR STORYBOARD SEGUE IDENTIFIER HERE" {
        if let drp = segue.destinationViewController as? dropDownVController {
           drp._delegateValue = self
        }
    }
}

您是否在某个地方关闭了第二个ViewController?我认为在您调用委托方法后应该取消该操作。我曾尝试取消该视图,但没有效果。您是否可以包括如何显示第二个viewcontroller的代码?然后您应该按照您的设置方式在prepareForSegue中设置委托,您正在实例化控制器并对其进行设置,但从未显示此控制器实例。现在我执行了此操作,但在从secondviewcontroller中选择值后,它仍不会返回到firstviewcontroller。-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)sender{if([[segue identifier]isEqualToString:@“drpVC”]){dropDownVController*vc=[segue destinationViewController];vc.\u delegateValue=self;}