zoukankan      html  css  js  c++  java
  • 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];
        }
    }


    三、效果图

      

  • 相关阅读:
    python 协程
    数据库中的一对多,多对多实例
    source命令
    HTTP 协议报文解析
    html中的body和head有什么区别??
    xml json
    内置函数bytes()
    MySQL中的日期和时间函数
    MySQL中的数值函数
    MySQL中的字符串函数
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6703908.html
Copyright © 2011-2022 走看看