文档章节

OC(协议代理委托)

鹿微微鹿
 鹿微微鹿
发布于 2016/03/28 19:29
字数 488
阅读 63
收藏 0
FJBadManDelegate.h

#import <Foundation/Foundation.h>


#import <Foundation/Foundation.h>


//@protocol 是声明协议的关键字

//<>是遵守协议的语法:":"是继承的语法;<>中就是所遵守的协议的协议名

//NSObject在这里是协议,所有的协议必须遵守NSObject协议,他是基协议

//协议的语法格式

//@protocol 协议名 <NSObject>

@protocol BadManDelegate <NSObject>

//在这里写协议内容(一系列的方法也就是规定和条款)

//协议方法只有声明没有实现


- (void) eat;

- (void) drink;

- (void) lie;


@end


FJGentleManDelegate.h

#import <Foundation/Foundation.h>


@protocol FJGentleManDelegate < NSObject>


- (void) goforGirl;


@end


FJPerson.h

#import <Foundation/Foundation.h>

#import "FJBadManDelegate.h"

#import "FJGentleManDelegate.h"

@interface FJPerson : NSObject <BadManDelegate,FJGentleManDelegate>


@end


@interface FJStudent : NSObject <BadManDelegate>

- (void) study;


@end


FJPerson.m

#import "FJPerson.h"


@implementation FJPerson


- (void)eat{

    NSLog(@"流氓吃完就跑~");

}

- (void)drink{

    NSLog(@"流氓喝完打人~");

}

- (void)lie{

    NSLog(@"流氓会骗人~");

}

- (void)goforGirl{

    NSLog(@"窈窕淑女,君子好逑");

}




@end

@implementation FJStudent


- (void)study{

    NSLog(@"学生要学习~");

}

- (void)eat{

    NSLog(@"学生不可以吃东西");

    

}

- (void)drink{

    NSLog(@"学生不可以喝酒");

}

- (void)lie{

    NSLog(@"学生不可以骗人");

}

@end

main.m

//协议:protocol和生活中的协议基本是一样的比如就业协议

//离婚协议(哈哈~) 劳动合同,保密协议等

//协议的特点:(一系列的规定)

//OC中主要是看甲方对乙方制定的规定


//=====基本概念=======

//委托:(制定协议)

//代理:(遵守协议)

//协议:一系列的条款和规定(委托制定和代理遵守)



//======主要要求=========

//遵守协议就要做到协议规定上的内容:遵守协议就要做什么样的对象、


//======协议特点========

//1。一个类可以遵守多个协议(遵守协议必须实现协议方法)

//2.同一个协议可以被多个类遵守(不同的类协议方法有不同的实现)



#import <Foundation/Foundation.h>

#import "FJPerson.h"

#import  "FJStudentDelegate.m"

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        FJPerson *person = [[FJPerson alloc] init];

        [person eat];

        [person drink];

        [person lie];

        [person goforGirl];

        FJStudent *stu = [[FJStudent alloc]init];

        [stu study];

        [stu eat];

        [stu drink];

        [stu lie];

    }

    return 0;

}


© 著作权归作者所有

鹿微微鹿
粉丝 8
博文 116
码字总数 71882
作品 0
程序员
私信 提问
OC协议代理委托

FJBoss.h #import <Foundation/Foundation.h> //2.协议! @protocol staffDelegate <NSObject> - (void) canIOS; @end //1.委托类(制定协议的类)委托需要一个遵守协议的对象来帮他做事 @i......

鹿微微鹿
2016/03/28
176
0
Protocol and Delegate协议和代理

1.什么是协议? OC协议仿照Java的接口。协议和接口,都是不同类的对象之间一种通信的机制。 2.协议的基础语法 单纯的语言描述协议的语法,很难让人理解,主要因为在OC中协议是类对象的通信机...

飞奔的土豆
2012/12/14
0
0
OC协议代理的反向传值作用

FJSecondView.h #import <Foundation/Foundation.h> @protocol sendDataDelegate <NSObject> //1.协议; //就在协议方法中带参数实现传值的功能 - (void) showTheContents:(NSString *)strin......

鹿微微鹿
2016/03/28
122
0
OC协议代理的回调功能

main.m //普通ios应用:下载数据-》解析数据 -》 显示数据 //协议代理回调作用:通过协议方法的返回值,将数据从代理传给委托 //场景:显示类想要显示从网上的数据 //分析:显示类不能去下载数据...

鹿微微鹿
2016/03/28
48
0
iOS-消息转发机制

前言 其他编程语言所说的函数调用,在oc中被称作为发送消息;消息转发的作用,开发者可以在找不到的方法的情况下,可以通过动态添加方法或者是消息转发,确定本次发送消息是否成功,通过这样...

麦兜卖鱼丸
2016/03/27
91
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
5
0
用好项目管理工具,人人都可以成为项目经理

现在市面上的项目管理工具越来越多了,但是大多数都是一些协同工具或轻量项目管理工具。如果是多团队、跨部门使用或者企业级的项目管理,从管理思想到工具运用,需要适应企业的业务流程体系,...

cs平台
昨天
12
0
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
70
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部