自定义代表回调

faisal60

我是iOS编程的新手,我遇到的问题是自定义委托存在问题。我试图做一个简单的自定义,它将数据返回到以前的视图控制器,并弹出当前的视图控制器。

我有2个导航视图控制器

1-主视图控制器2-添加

这是在添加视图控制器中编写的协议

@protocol AddingDelegate <NSObject>

@required
-(void)setInformation:(Adding *)controller withObject:(Conference *)info;

这是我在添加视图控制器中调用它的地方

-(IBAction)addingConference
{
    NSLog(@"Adding Button Pressed");
    conferenceObject = [[Conference alloc]init];
    conferenceObject.name = [NameTX text];
    conferenceObject.city = [CityTX text];
    conferenceObject.description = [Dectription text];
    NSMutableArray *info = [[NSMutableArray alloc] init];
    [info addObject:conferenceObject];
    [self.delegate setInformation:self withObject:conferenceObject];
    NSLog(@"adding Conference method is done");
}

我在主视图控制器的接口上编写了委托

@interface MainViewController : UITableViewController <AddingDelegate>

@end

在这里我声明了委托方法

-(void)setInformation:(Adding *)controller withArray:(NSMutableArray *)info
{
    NSLog(@"in the main view at the delegate");
    [self.navigationController popToRootViewControllerAnimated:YES];
    NSLog(@"Should be popped right now");
}

这是segue方法的准备

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"AddObject"]) {
        UINavigationController *navigation = segue.destinationViewController;
        Adding *addingViewController = [[navigation viewControllers]objectAtIndex:0];
        addingViewController.delegate = self;
    }
}

现在的问题是,当我将添加操作推到堆栈的顶部,然后填充信息并按完成时,添加视图控制器不会弹出以显示主视图控制器。

我试图记录所有内容,但主视图控制器的日志未显示。

请帮我

詹卢卡·特拉切德内

我在这里注意到的是,在prepareForSegue:sender:segue的实现中destinationViewController是导航控制器。这使我认为您的选择不是AddingController在当前导航堆栈上推送,而是在显示一个新的导航堆栈。这意味着AddingController将以模态方式显示包含的新导航控制器,因此,当您尝试弹出导航堆栈时,似乎没有发生任何事情,因为您对错误的导航堆栈进行了操作。如果是这种情况,您有两个选择:1.更改[self.navigationController popToRootViewControllerAnimated:YES];[self dismissViewControllerAnimated:YES completion:nil];或2.将序列更改推送序列而不是模式序列,并将序列直接指向AddingController

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建执行回调的树枝自定义标签?

来自分类Dev

Express.js中的自定义回调获取

来自分类Dev

自定义javascript函数/ jQuery回调的正确语法

来自分类Dev

如何从回调访问Polymer自定义元素

来自分类Dev

NSMutableSet与自定义isEqual:和哈希回调

来自分类Dev

自定义事件与ReactJS中的回调

来自分类Dev

在翻新回调中接收自定义参数

来自分类Dev

Passportjs自定义回调-'密码错误'消息

来自分类Dev

JavaScript:自定义回调函数

来自分类Dev

自定义挂钩/回调/宏方法

来自分类Dev

在ruby方法上定义自定义回调

来自分类Dev

Nightwatch自定义命令回调

来自分类Dev

通过自定义回调函数的Woocommerce订单

来自分类Dev

在回调中反应自定义钩子

来自分类Dev

在构造函数中定义自定义元素的生命周期回调

来自分类Dev

Tensorflow回调作为CTC的自定义指标

来自分类Dev

在回调函数中使用自定义钩子

来自分类Dev

Quickblox:自定义模块-自定义回调函数,而不是默认的“ completedWithResult”

来自分类Dev

Express.js中的自定义回调获取

来自分类Dev

提供自定义组件的回调

来自分类Dev

Ajax可自定义的错误回调函数

来自分类Dev

jQuery函数自定义加扰回调

来自分类Dev

如何从回调访问Polymer自定义元素

来自分类Dev

password.js自定义回调200

来自分类Dev

CakePHP 3:如何创建自定义模型回调?

来自分类Dev

在ruby方法上定义自定义回调

来自分类Dev

使用 Django Rest Framework 的自定义 JSON 回调

来自分类Dev

Javascript 自定义回调函数

来自分类Dev

自定义元素内的 Google Auth 回调