Android第三十四期 - 极光推送
代码已经整理好,参照官网的文档很快你会可以配置出来,如下效果: 附件:http://down.51cto.com/data/2365414 本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/1613598,如需转载请自行联系原作者
其实OC中的协议有点像接口或称抽象类。OC中的协议定义了一系列的方法 , 有些方法是必须实现的 , 有些方法是可以不用实现的。
定义一个协议的关键字是 : @protocol
例如:
@protocol Ainy
-(void) Print;
@end
如上就是一个协议 , 协议的名称为Ainy 。定义了一个方法为-(void) Print 。 注意协议是在h文件中定义的 , 例如:
如何实现这个Ainy协议:使用<>括号 , 如下
我新建了一个Dog类 , 继承了Animal , 并且需要实现协议Ainy代码如下:
在Dog.m中的实现如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//
// Dog.m
// PartDemo
//
// Created by Apple on 2017/12/3.
// Copyright 2017年 Apple. All rights reserved.
//
#import "Dog.h"
@implementation Dog
@synthesize ID;
-(
void
) Print{
NSLog(@
"Xiao Huang"
);
}
@end
|
当然 , 可能在Animal中定义了 Aonaufly协议 , 如何同时显示Ainy 和 Aonaufly协议呢 ??
@interface Dog : Animal <Ainy , Aonaufly>用,隔开
问题来了 , 怎么定义可以不需要实现的方法 和 如何定义一定要实现的方法
@optional 定义不一定需要实现的方法(在其后的在所有的方法)
@required 定义一定需要实现的方法(在其后的所有方法)
如何知道此类实现了Ainy协议了呢??
id Object;
if( [Object conformsToProtocol : @protocol (Ainy)] == YES ){
}
当让如果你知道Object一定实现了协议Ainy , 你可以这么干
id <Ainy> Object;
加入Object实现了协议Ainy , 如何知道Object实现了Ainy的方法 Dance呢 , 因为Dance是可以不用实现的方法
if( [Object respondsToSelector: @selector (Dance)] == YES ){
}
本文转自Aonaufly51CTO博客,原文链接: http://blog.51cto.com/aonaufly/2046979,如需转载请自行联系原作者
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。