Protocol类型限制

1.protocol类型限制

  • 设定情景:

    • 某攻城狮A希望找一个会做饭、洗衣服的女生做女朋友,有国企工作的优先。
    • 满足条件的女生都可以向他发送消息
  • 从题目中我们得到要求
    • 会做饭
    • 会洗衣服
    • 有份好工作
@protocol WifeCondition<NSObject>
- (void)cooking;
- (void)washing;
- (void)job;
@end
  • 如何在代码中要求对象必须具备这些行为?

    • 数据类型<协议名称> 变量名
// 如果没有遵守协议则会报警告
id<WifeCondition> wife = [[Person alloc] init];
时间: 2024-08-10 16:49:43

Protocol类型限制的相关文章

google protocol buffer -2-.proto 定义规则

essage为主要关键字,类似于java中的class.定义简单message类型 SearchRequest.proto定义了每个查询请求的消息格式,每个请求都会有查询关键词query,查询结果的页数,每页的结果数量这三个属性.于是 message SearchRequest{        required string query = 1;        optional int32 page_number = 2;        optional int32 result_per_pag

Centos Tomcat 调优

Tomcat可以从内存.并发.缓存等方面进行优化 1.Tomcat内存优化: 在 tomcat 的启动脚本 catalina.sh 中设置java_OPTS 参数 JAVA_OPTS='-Xms2048m-Xmx2048m -XX:PermSize=512M -XX:MaxPermSize=1024m' 参数说明: -server                                                  启用jdk 的server 版: -Xms             

swift 语法总结

原文:http://www.cocoachina.com/newbie/basic/2014/0612/8803.html 语句 语句语法 statement → expression ; opt statement → declaration ; opt statement → loop-statement ; opt statement → branch-statement ; opt statement → labeled-statement statement → control-tra

OC蜕变第七天

总结 编号 标题 内容 一 protocol protocol 基本概念/语法格式/protocol和继承区别/使用注意/基协议/@required和@optional关键字/类型限制 二 代理设计模式 代理设计模式基本概念/示例/练习/编写的规范 三 Foundation框架介绍 Foundation框架介绍/常见错误 四 NSString NSString基本概念/创建方式 五 字符串的处理 读写/比较/搜索/截取/替换函数 六 字符串与路径 NSString与路径/NSString与文件拓

2G、3G无线路由器拨号连接过程

无线MODEM是为数据通信的数字信号在具有有限带宽的模拟信道上进行无线传输而设计的,它一般由基带处理.调制解调.信号放大和滤波.均衡等几部分组成.无线MODEM又名"无线调制解调器",区别于传统modem之处在于调制后的信号是通过无线传输的.无线modem有2G和3G各种网络的,如GPRS.CDMA.EDGE.WCDMA.CDMA2000(EVDO).TD-SCDMA等. 无线MODEM一般常见的接口有RS232串行口.USB口和PC卡式接口.RS232串行口和USB口一般都是外置式,

Objective-C知识总结(5)

block的基本使用 1 // 有参有返回值 2 /* 3 格式: 4 返回值类型 (^变量名)(参数类型及个数) = ^(形参列表){ 5 6 代码块语句; 7 8 return ; 9 10 }; 11 12 */ 13 // 定义一个有参数\有返回值的block 14 int (^myblock1)(int ,int) = ^(int x,int y){ 15 16 return x+y; 17 18 }; 19 20 int sum = myblock1(10,20); 21 NSLog

【Win10 UWP】URI Scheme(二):自定义协议的处理和适用场景

上一篇提到Windows Store协议的使用,其实Windows Store协议仅是系统内建的一种协议规则.我们也可以自己定义一套规范的URI-Scheme,除了可以给其他App调用外,本应用也可以进行调用,解决一些特殊的场景,本讲具体探讨这一问题. 关于Windows Store协议的解析和使用,可先阅读上一篇:http://www.cnblogs.com/zhxilin/p/4819372.html 一.自定义协议的处理 前面提到,通过协议,应用可以被“激活(Activated)”,并且可

Swift之 ? 和 !

原文:http://joeyio.com/ios/2014/06/04/swift---/ Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = st

[转]MVP模式开发

转自:http://www.jianshu.com/p/f7ff18ac1c31 基于面向协议MVP模式下的软件设计-(iOS篇) 字数9196 阅读505 评论3 喜欢11 基于面向协议MVP模式下的软件设计-(iOS篇) 传统模式下的开发 MVC MVVM 基于面向协议MVP的介绍 MVP实战开发 说在前面:相信就算你是个iOS新手也应该听说过MVC的,MVC是构建iOS App的标准模板.随着时间的推移,在iOS平台上MVC也逐渐开始面临着越来越多的问题,最近又开始流行MVVM,MVVM使