代理模式页面传值和navigation配合使用

这点容易出处,我的出错点在于下面代码红色部分

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"segue200"]) {
        YcwFoodTypeViewController *foodView = segue.destinationViewController;
        foodView.delegate = self;
    }
    
}


总结:页面传值适用于,在第一个页面跳向第二个页面之后,第二个页面想要向第一个页面传值

例如:YcwAddFoodViewController 跳向YcwFoodTypeViewController页面

YcwAddFoodViewController.h

#import <UIKit/UIKit.h>
#import "YcwFoodTypeViewController.h"

@interface YcwAddFoodViewController : UITableViewController<YcwFoodTypeViewControllerDelegate>
@property (strong, nonatomic) IBOutlet UILabel *shezhiLabel;
@property (strong, nonatomic) IBOutlet UILabel *xuanzeLabel;
@property (strong, nonatomic) IBOutlet UITextField *nameTextField;


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"segue200"]) {
        YcwFoodTypeViewController *foodView = segue.destinationViewController;       //这句代码让我刻骨铭心,一定记住
        foodView.delegate = self;
    }
    
    
}


- (void)foodTypeViewControllerDidSelect:(YcwFoodTypeViewController *)controller andType:(NSString *)type
{
    self.shezhiLabel.text = type;
    self.xuanzeLabel.text = @"已选择";
    [controller.navigationController popViewControllerAnimated:YES];

}


YcwFoodTypeViewController.h文件


#import <UIKit/UIKit.h>
@class YcwFoodTypeViewController;
@protocol YcwFoodTypeViewControllerDelegate<NSObject>  //代理协议

-(void)foodTypeViewControllerDidSelect:(YcwFoodTypeViewController *)controller andType:(NSString *)type;

@end

@interface YcwFoodTypeViewController : UITableViewController

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

@end

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    
        [self.delegate foodTypeViewControllerDidSelect:self andType:[typeArray objectAtIndex:indexPath.row]];
    


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值