Delegate使用方法
来源:互联网 发布:哈希算法 编辑:程序博客网 时间:2024/06/05 14:50
在程序中我们往往需要两个视图之间传值,用delegate可以解决这个问题。
(1)定义delegate
#import <UIKit/UIKit.h>@protocol SetPhotoDelegate <NSObject>- (void)setPhoto:(UIImage *)photo;@end@interface PhotoDelegate : NSObject@end
(2)在代理人的.h文件中声明遵守该协议
#import "PhotoDelegate.h"@interface ViewController : UIViewController<SetPhotoDelegate>
然后在.m文件中实现协议中的方法
- (void)setPhoto:(UIImage *)photo{ //委托人实现委托方法 //显示照片 self.firstImageView.image = photo;}
最后在初始化委托人的地方,将代理人设置为自己
PhotoPickerViewController *photoPicker = [self.storyboard instantiateViewControllerWithIdentifier:@"PhotoPicker"]; //将自己设为PhotoPickerViewController的委托人photoPicker.delegate = self; [self presentViewController:photoPicker animated:YES completion:NULL];
(3)在委托人头文件文件中定义
#import <UIKit/UIKit.h>#import "PhotoDelegate.h"@interface PhotoPickerViewController : UIViewController//这是用assign防止引起循环引用@property(nonatomic, assign) NSObject<SetPhotoDelegate> * delegate;@end
- (IBAction)clickDoneButton:(id)sender{ //通过delegate调用代理方法 [self.delegate setPhoto:selectedImage]; [self dismissViewControllerAnimated:YES completion:nil];}
0 0
- Delegate使用方法
- delegate使用方法之assign
- delegate使用方法之assign
- C# 委托delegate使用方法
- IOS中delegate的使用方法
- jQuery事件 delegate()使用方法介绍
- Protocol与Delegate 使用方法详解
- 【C#】delegate委托的定义和使用方法
- delegate
- delegate
- Delegate
- delegate
- Delegate
- Delegate
- Delegate
- Delegate
- delegate
- Delegate
- Java基础——内部类、异常、包
- 3、spring之jdbc 应用
- C++Primer学习笔记4 数组和指针
- 第十六周 项目二 用指针玩转字符串
- 如何利用 D2R 发布 Linked data
- Delegate使用方法
- [C# 网络编程系列]专题六:UDP编程
- CodeWarrior烧录BSP过程详解
- Determine the Shape - UVa 11800 凸包判断四边形
- ASP.NET中JSON的序列化和反序列化
- 数组模拟栈
- ToolBox系列工具之Detector
- Android 学习笔记 Contacts (一)ContentResolver query 参数详解
- 黑马程序员-Java学习05-异常