iOS代理方法和block的使用
2016-09-29 15:37
357 查看
创建协议
一.
@protocol SecondViewControllerDelegate <NSObject>
-(void)secondViewControllerDidDit:(NSString *)name;
@end
二.@property(nonatomic,weak)id<SecondViewControllerDelegate>
delegate;
三.
-(void)secondViewControllerDidDit:(NSString *)name{
if ([self.delegaterespondsToSelector:@selector(secondViewControllerDidDit:)])
{
[self.delegatesecondViewControllerDidDit:@"你好"];
}
}
四.
遵守协议,设置代理,实现方法
遵守协议
@interface ViewController ()<SecondViewControllerDelegate>
设置代理
second.delegate =self;
实现方法
-(void)secondViewControllerDidDit:(NSString *)name{
NSLog(@"secondViewControllerDidDit--%@",name);
}
=========================block的使用=========================
1.第二个页面声明block
//<1>声明block
typedef void(^myBlock)(NSString *name);
//<2>声明一个block属性
@property (nonatomic,copy)
myBlock block;
//<3>调用block、传值
self.block(@"123");
//实现
NextViewController *next = [[NextViewControlleralloc]
init];
//<4>实现block
//a:NSString *name
代表传过来的值
next.block = ^(NSString *name){
//<5>实现
NSLog(@"%@",name);
self.view.backgroundColor = [UIColorcyanColor];
};
一.
@protocol SecondViewControllerDelegate <NSObject>
-(void)secondViewControllerDidDit:(NSString *)name;
@end
二.@property(nonatomic,weak)id<SecondViewControllerDelegate>
delegate;
三.
-(void)secondViewControllerDidDit:(NSString *)name{
if ([self.delegaterespondsToSelector:@selector(secondViewControllerDidDit:)])
{
[self.delegatesecondViewControllerDidDit:@"你好"];
}
}
四.
遵守协议,设置代理,实现方法
遵守协议
@interface ViewController ()<SecondViewControllerDelegate>
设置代理
second.delegate =self;
实现方法
-(void)secondViewControllerDidDit:(NSString *)name{
NSLog(@"secondViewControllerDidDit--%@",name);
}
=========================block的使用=========================
1.第二个页面声明block
//<1>声明block
typedef void(^myBlock)(NSString *name);
//<2>声明一个block属性
@property (nonatomic,copy)
myBlock block;
//<3>调用block、传值
self.block(@"123");
//实现
NextViewController *next = [[NextViewControlleralloc]
init];
//<4>实现block
//a:NSString *name
代表传过来的值
next.block = ^(NSString *name){
//<5>实现
NSLog(@"%@",name);
self.view.backgroundColor = [UIColorcyanColor];
};
相关文章推荐
- 二十三 ,iOS UIAlertView使用block来实现代理方法;
- iOS_21团购_通过block对请求工具类的代理方法进行二次封装
- ios UIScrollView代理方法追踪 及使用
- iOS中的导航条UINavigationController(UISegmentedControl)的基本使用(界面中传值的3中方法,单例,属性,代理)
- ios开发中使用copy类型的block时,防止循环利用的方法。
- iOS ViewController之间传值方法五(使用block)
- IOS中block的使用方法
- iOS中block和代理的使用
- iOS --- 关于block的常见使用方法
- iOS 网络开发NSURLConnection——使用代理方法发送异步请求
- IOS开发基础Object-C( 15)-- block的使用方法
- enumerateObjectsUsingBlock 使用 方法 iOS
- ios UIScrollView代理方法追踪 及使用
- iOS中UITableView使用总结和 iOS UITableView代理方法详解
- iOS培训篇——iOS中Block的使用方法
- ios中使用block回调或代理方式请求网络接口数据(包括网络缓存)
- iOS UIScrollView的代理的使用及缩放时代理监听的几个方法
- 使用代理的方法 iOS
- iOS --- block的一些使用方法(反向传值)
- iOS_使用NSURLSessionDataDelegate的代理方法下载数据