Delegate简单案例
来源:互联网 发布:招商银行外汇行情软件 编辑:程序博客网 时间:2024/06/01 09:11
MyProtocol.h
#import <Foundation/Foundation.h>
@protocol MyProtocol <NSObject>
@required
-(NSString*)returnValue;
-(void)weiZhu:(NSString*)string;
@optional
-(void)zhuFan:(NSString*)string;
@end
@end
Me.h
#import <Foundation/Foundation.h>
#import "MyProtocol.h"
@interface Me : NSObject
{
id <MyProtocol> delegate1;
id <MyProtocol> delegate2;
}
@property(strong,nonatomic)id<MyProtocol> delegate1;
@property(strong,nonatomic)id<MyProtocol> delegate2;
-(void)print;
@end
Me.m
#import "Me.h"
#import "You.h"
#import "Ta.h"
@implementation Me
@synthesize delegate1,delegate2;
- (instancetype)init
{
self = [superinit];
if (self) {
delegate1=[[Youalloc]init];
delegate2 = [[Taalloc]init];
}
return self;
}
-(void)print{
[delegate1weiZhu:@"哈哈哈"];
[delegate1zhuFan:@"还煮饭了"];
[delegate2weiZhu:@"哈哈哈"];
NSLog(@"%@",[delegate1returnValue]);
NSLog(@"%@",[delegate2returnValue]);
NSLog(@"print");
}
@end
You.h
#import <Foundation/Foundation.h>
#import "MyProtocol.h"
@interface You : NSObject<MyProtocol>
@end
You.m
#import "You.h"
@implementation You
- (void)weiZhu:(NSString *)string {
NSLog(@"我喂猪了,%@",string);
}
-(void)zhuFan:(NSString*)string{
NSLog(@"我煮饭了,%@",string);
}
- (NSString *)returnValue {
return@"My name is You";
}
@end
Ta.h
#import <Foundation/Foundation.h>
#import "MyProtocol.h"
@interface Ta : NSObject<MyProtocol>
@end
Ta.m
#import "Ta.h"
@implementation Ta
- (void)weiZhu:(NSString *)string {
NSLog(@"我也喂猪了啊啊啊啊");
}
- (NSString *)returnValue {
return@"My name is Ta";
}
@end
main.m
#import <Foundation/Foundation.h>
#import "Me.h"
#import "You.h"
#import "MyProtocol.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//NSLog(@"Hello, World!");
Me *me = [[Mealloc]init];
[me print];
}
return 0;
}
- Delegate简单案例
- IOS开发之delegate与简单案例
- IOS开发之delegate与简单案例
- IOS开发之delegate与简单案例
- C#delegate案例
- Delegate简单示例
- iOS delegate的经典应用案例
- 简单的Delegate(委托)例子
- delegate--- 委托简单的实例
- c#委托delegate简单例子
- iOS 简单代理(delegate)实现
- iOS 简单代理(delegate)实现
- Delegate简单的小例子
- iOS 简单代理(delegate)实现
- iOS 简单代理(delegate)实现
- 简单delegate(省略版本)
- iOS 简单代理(delegate)实现
- iOS 简单代理(delegate)实现
- golang 的 context.Context
- IOCP原理
- JDK源码解读 HashSet
- 广搜(初见)
- linux中安装zookeeper
- Delegate简单案例
- KNN
- iOS开发~CocoaPods使用详细说明
- Web 基础
- Android图片处理(一)
- 工信部发2016年中国互联网企业100强名单
- Web 基础
- SuperMap iDesktop常见问题解答集锦(十一)
- springboot获取项目跟目录