1、画图服务器
本人画了一个图(字体和画图水平请忽略)app
2、图解字体
1.首先咱们上边是一个按钮的类,按钮当中包括了一条线,这个线是什么呢?atom
其实难理解就难理解到这条线上了spa
1⃣️这条线首先来讲属于按钮的一部分,是一个成员变量code
2⃣️这条线中定义了一个协议,什么协议?为何要定义协议?我想到一个很是好的例子blog
咱们的电脑想要实现通讯,遵循的是TCP/IP协议,协议自己独立了咱们电脑存在。可是咱们电脑内部默认有那么一个东西让咱们实现了这个协议io
3⃣️监听器也实现这个协议,接着上边的例子class
腾讯的qq服务器想知道咱们是否是登qq,他就也须要实现TCP/IP协议。至关于咱们如今实现了连同import
总结:点击登陆qq,经过协议传给腾讯服务器,实现登陆。OK!
3、代码
1.协议
// // ButtonProtocol.h // 监听器的实现 // // Created by apple on 14-3-26. // Copyright (c) 2014年 apple. All rights reserved. // #import <Foundation/Foundation.h> @protocol ButtonProtocol <NSObject>
-(void)onClick:(Button *)btn;
@end
很简单,协议里面就有一个onClick方法
2.Button类
// // Button.h // 监听器的实现 // // Created by apple on 14-3-26. // Copyright (c) 2014年 apple. All rights reserved. // #import <Foundation/Foundation.h> #import "ButtonProtocol.h" @interface Button : NSObject //咱们说的Button的那条线 @property (nonatomic, retain) id<ButtonProtocol> delegate; -(void)press; @end
// // Button.m // 监听器的实现 // // Created by apple on 14-3-26. // Copyright (c) 2014年 apple. All rights reserved. // #import "Button.h" @implementation Button -(void)press { [_delegate onClick]; } @end
3.ButtonListener类
// // ButtonListener.h // 监听器的实现 // // Created by apple on 14-3-26. // Copyright (c) 2014年 apple. All rights reserved. // #import <Foundation/Foundation.h> #import "ButtonProtocol.h" @interface ButtonListener : NSObject <ButtonProtocol> @end
// // ButtonListener.m // 监听器的实现 // // Created by apple on 14-3-26. // Copyright (c) 2014年 apple. All rights reserved. // #import "ButtonListener.h" @implementation ButtonListener -(void)onClick { NSLog(@"按钮被点击了"); } @end
代码都仍是挺简单的,主要仍是理解。理解了代码就天然出来了
4、总结
其实就是一个通讯过程,通讯双方须要遵照相同的协议。