• ios两视图间托付(delegate)传值


    现有两个视图(ViewController。ViewController1),从ViewController中带參数跳转到ViewController1,在ViewController1选中数据后带有效数据后退到ViewController中。托付实现上述功能。

    项目:点击下载

    一、ViewController主要代码

    // button点击事件
    -(IBAction)clickSearchBtn:(id)sender {
        
        [[[UIApplication sharedApplication] keyWindow] endEditing:YES];
        
        ViewController1 *_viewController = [[[ViewController1 alloc] init] autorelease];
        _viewController.delegate = self;
        _viewController.transText = self.textField.text;
        
        [self.navigationController pushViewController:_viewController animated:YES];
    }
    
    // ViewController1Delegate 的代理方法
    -(void)selectData:(NSString*)text{
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            [self.listArray removeAllObjects];
            for (int i=0; i<5; i++) {
                [self.listArray addObject:[NSString stringWithFormat:@"第%d行数据:%@_%d",i+1,text,arc4random_uniform(100)]];
            }
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.dataTableView reloadData];
            });
        });
    }
    

    二、ViewController1主要代码

    // ViewController1.h
    // delegate写在#import之前,否则可能会Delegate Cannot find protocol declaration
    @protocol ViewController1Delegate;
    @protocol ViewController1Delegate <NSObject>
    
    @optional
    -(void)selectData:(NSString*)text;
    @end
    
    // ViewController1.m
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        
        if ([self.delegate respondsToSelector:@selector(selectData:)]) {
            
            //通过托付协议传值
            [self.delegate selectData:[self.listArray objectAtIndex:indexPath.row]];
            [self.navigationController popViewControllerAnimated:YES];
        }
    }


    三、效果图

      

  • 相关阅读:
    mvn clean deploy
    数据库分库分表,读写分离
    耳鸣治疗法
    Navicat Preminum
    spring boot 获取bean
    java中集合Collection转list对象
    Java8新特性之Collectors
    spring 给一个类 生成test
    Spring注解标签详解@Autowired @Qualifier等 @Slf4j
    linux定时执行脚本
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6703908.html
Copyright © 2020-2023  润新知