• IOS开发---菜鸟学习之路--(十八)-利用代理实现向上一级页面传递数据


    其实我一开始是想实现微信的修改个人信息那样的效果

    就是点击昵称,然后跳转到另外一个页面输入信息

    但是细想发现微信的话应该是修改完一个信息后就保存了

    而我做的项目可能需要输入多个数据之后再点击提交的。

    所以我们需要在点击完成后 将数据传递回上一个页面,

    上一个页面显示修改的信息

    接着我就去找度娘了。。。

    废话不多说直接开始吧

    首先我们需要添加一个代理

    添加的时候选择Objectivie-c protocol

    然后添加如下代码

    1 #import <Foundation/Foundation.h>
    2 
    3 @protocol HDMDelegate <NSObject>
    4 -(void)hdmpassValue:(NSString *)value;
    5 @end
    HDMDelegate

    然后在需要回传的页面的.H文件中增加

    #import "HDMDelegate.h"

    并添加

    @property(nonatomic,assign) NSObject<HDMDelegate> *delegate;

    然后在.M文件中添加

    1 -(IBAction)buttonparess:(id)sender
    2 {
    3     [self.delegate hdmpassValue:valuetextfield.text];
    4     [self.navigationController popViewControllerAnimated:YES];
    5 }
    View Code

    这样我们在点击了按钮后他就会向上级传值了

    接着在上一级的界面中实现该代理就可以了

    具体的方法如下:

    首先先在.h文件中 引入头文件

    #import "HDMDelegate.h"

    然后 增加代理

    <HDMDelegate>

    最后在.m文件中实现 代理的方法就可以了

    1 -(void)hdmpassValue:(NSString *)value
    2 {
    3     self.hdm=value;
    4     [mytableview reloadData];
    5 }
    View Code
  • 相关阅读:
    聚簇索引与非聚簇索引(二级索引)的区别
    swoole介绍
    什么是mysql执行计划
    php-fpm浅析
    字段设计规范
    mysql排序规则utf8_genera_ci和utf8_bin的区别
    chrome 麦克风被禁用
    获取地址栏参数
    vue 打包去掉console debugger
    Vue less全局变量预处理加载
  • 原文地址:https://www.cnblogs.com/PleaseInputEnglish/p/3486578.html
Copyright © 2020-2023  润新知