加入有A B两个页面,要实现从A跳到B的时候把值传过去,现在用delegate协议来实现

在A中定义一个协议,定义一个实现该协议的属性变量

在B中定义一个值(要获得的值类型)和set方法。

要传值B 必须实现A中定义的协议。

在A中获得B的指针调用set方法传值。

实例:(我的例子A是一个TableView)

A:(MenuViewController)

#import <UIKit/UIKit.h>
//声明协议
@protocol ToTopPassValueDelegate; @interface MenuViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>{
}
//声明实现协议的变量(ID类型)
@property (nonatomic,retain) id<ToTopPassValueDelegate> passValueDelegate;
@property (weak, nonatomic) IBOutlet UITableView *leftTableView;
@property (nonatomic,copy) NSArray *arrayData; @end //定义协议
@protocol ToTopPassValueDelegate
- (void)setValue:(NSString *)value;
@end

.m文件:

@synthesize passValueDelegate;
//当点击一个cell时出发,进行传值及跳转
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ ToDoViewController *topViewController=[[ToDoViewController alloc] init];
self.passValueDelegate = topViewController;
[self.passValueDelegate setValue:[self.arrayData objectAtIndex:indexPath.row]];
//跳转。。。。。
}
@end

B:(ToDoViewController)

#import <UIKit/UIKit.h>
#import "MenuViewController.h" @interface ToDoViewController : UIViewController<ToTopPassValueDelegate> @property (nonatomic,copy) NSString *value; @end

.m文件:

@synthesize value;
-(void) setValue:(NSString *) str{
NSLog(@"%@",str);
}

原文出处:http://blog.csdn.net/wildcatlele

IOS学习之路十七(通过delegate进行页面传值)的更多相关文章

  1. IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路

    在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...

  2. 浅谈iOS学习之路(转)

    转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...

  3. 浅谈iOS学习之路

    转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...

  4. 纪录我的iOS学习之路

    学习资料的网址 田伟宇(Casa Taloyum)有几篇介绍iOS架构的文章,一级棒!原博客链接. iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方 ...

  5. IOS学习之路--OC的基础知识

    1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...

  6. 我的IOS学习之路(三):手势识别器

    在iOS的学习中,对于手势的处理是极为重要的,如对于图片,我们经常需要进行旋转,缩放以及移动等.这里做一下总结,详见代码. - (void)viewDidLoad { [super viewDidLo ...

  7. IOS学习之路十四(用TableView做的新闻客户端展示页面)

    最近做的也个项目,要做一个IOS的新闻展示view(有图有文字,不用UIwebview,因为数据是用webservice解析的到的json数据),自己一直没有头绪,可后来听一个学长说可以用listvi ...

  8. IOS学习之路七(通过xib自定义UITableViewCell)

    一.新建iOS Application工程,选择Single View Application,不要选中Use Storyboard.假设指定的是product name是:UITableViewCe ...

  9. IOS学习之路七(使用 Operation 异步运行任务)

    在 application delegate 头文件(.h)中声明一个 operation 队列和两个 invocation operations: #import <UIKit/UIKit.h ...

随机推荐

  1. Java对多线程~~~Fork/Join同步和异步帧

    于Fork/Join骨架,当提交的任务,有两个同步和异步模式.它已被用于invokeAll()该方法是同步的.是任何 务提交后,这种方法不会返回直到全部的任务都处理完了.而还有还有一种方式,就是使用f ...

  2. 通过私有协议Chrome浏览器页面打开本地程序

    近期方有这样的要求:这两个系统,根据一组Chrome开展,根据一组IE开展,需要Chrome添加一个链接,然后进入IE该系统的开发.这,需要Chrome跳转到创建一个链接IE浏览器指定的页面.同时也实 ...

  3. ExtJS得知--------Ext.Element学习的查询方法(示例)

    详细实例:(实验结果可复制代码后进行演示) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{//创建一个面板 title:'我的面板' , ...

  4. Largest Rectangular Area in a Histogram

    题目地址:https://oj.leetcode.com/problems/largest-rectangle-in-histogram/ ,刚開始事实上没做这个题,而是在做https://oj.le ...

  5. 引擎介绍 - REngine

    引擎介绍 - REngine 规则引擎 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规 ...

  6. Appium Android Bootstrap源码分析之简介

    在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解.今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium ...

  7. x240 uefi ubuntu 12.04.4

    http://askubuntu.com/questions/355034/ubuntu-12-04-3-lts-installation-failed-says-grub-installation- ...

  8. Zend Server的WebAPI焦点:异步操作

    Zend Server作为Web应用服务器,在使用时,涉及连接的基本步骤,其中包括许多可用的WebAPI行为. WebAPI提供一些需要时间才能完成的操作,包括很复杂的或依靠外部实体(如远程服务器)才 ...

  9. 打印man手册为pdf文件

    只需要一个命令就可以了! merlin@tfAnalysis:~/projects/tfadc$ man -t errno | ps2pdf - ~/errno.pdf 输出的文件很漂亮.

  10. 等差数列6《MAC》

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXhzdGFycw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...