代理模式:
一个委托人
一份协议
一个代理者
1、
#import "AppDelegate.h"
//2、设置协议
@interface AppDelegate () <UITextFieldDelegate>
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
#pragma mark ======= 1、创建窗口 ========================
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
#pragma mark ======== 2、创建一个文本编辑框 ================
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 100, 200, 30)];
textField.placeholder = @"编辑";
[self.window addSubview:textField];
#pragma mark ========= 设置代理 =========================
//1、将当前类对象设置为输入框的代理
textField.delegate = self;
//2、遵从协议
//3、实现协议方法
//第一响应者:first responder
return YES;
}
//3、实现协议方法===参数:设置代理的人
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
//释放第一响应者
[textField resignFirstResponder];
return YES;
}
2、
#import <UIKit/UIKit.h>
@interface MyAppDelegate : UIResponder <UIApplicationDelegate>
@property(nonatomic,strong) UIWindow *window;
@end
3、
#import "MyAppDelegate.h"
@implementation MyAppDelegate
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 50)];
label.text = @"自己写的AppDelegate";
label.textColor = [UIColor redColor];
[self.window addSubview:label];
return YES;
}
@end