iOS协议
ios中的协议:大家猛一看 感觉挺高深的 其实ios中的协议就是c#,java中的接口 只是变了一个形式;
自我感觉ios中的协议没有c#中的接口好 人家的接口就是固定你的程序内容的 而ios中的协议和类就有点冲突了
下面写一协议 请看下面的程序
先生名个propcle的协议 在声明个pro的类继承这个协议 然后通过主函数调用
#import <Foundation/Foundation.h>
@protocol Prorocol <NSObject>
@required //它下面定义必须要的函数 就是说pro类中必须实现的函数 如果步实现 编译器就会报错的
-(void)print;
@optional //他下面定义可有的 就算pro类中不实现这个函数也不会报错
-(void)print2;
@end
@interface Pro : NSObject<Prorocol>
@end
@implementation Pro
-(void)print
{
NSLog(@"我是必须的");
}
-(void)print2
{
NSLog(@"我是可有的");
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
Pro *p=[[Pro alloc] init];
[p print2];
[p print];
NSLog(@"Hello, World!");
}
return 0;
}
iOS协议的更多相关文章
- ios 协议分析
1 基本用途 可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明 只要父类遵守了某个协议,就相当于子类也遵守了 2 格式 协议的编写 @pro ...
- iOS 协议
协议分为三部分:声明.引用.实现. 通常,声明协议和声明协议类型的属性都是在同一个类中.声明协议和声明协议作为属性在头文件中,引用在声明类的实现文件中.而实现协议则在其它类中.
- ios协议和委托
在iPhone开发协议和委托是常接触到的东西,到底什么是协议什么是委托,他们什么关系? 一 协议 (1)协议相当于没有与类相关联的接口,他申明一组方法,列出他的参数和返回值,共享给其他类使用,然后不进 ...
- iOS - 协议实现的例子
在实际开发中,协议的应用非常广泛,以下是实际应用的例子. 1.协议的定义: myProtocolDelegate.h // // myProtocolDelegate.h // zlwPlayerAp ...
- iOS 协议分发
Github:AOMultiproxier.HJProtocolDispatcher 协议实现分发器,能够轻易实现将协议事件分发给多个实现者. 一.AOMultiproxier.h #define A ...
- ios协议调起app
function openIos(url, callback) { if (!url) { return; } var node = document.createElement('iframe'); ...
- iOS delegate, 代理/委托与协议.
之前知知道iOS协议怎么写, 以为真的跟特么java接口一样, 后来发现完全不是. 首先, 说说应用场景, 就是当你要用一个程序类, 或者说逻辑类, 去控制一个storyboard里面的label, ...
- IOS 学习参考
IOS 开发 http://code4app.com/ios/%E5%AE%9E%E6%97%B6%E6%9B%B4%E6%96%B0%E7%9A%84%E6%9B%B2%E7%BA%BF%E5%9B ...
- iOS 知识点
1. @dynamic.@synthesize 2. iOS NSTimer 3. iOS 之 Aggregate Target 4. iOS 属性之assign.copy.retain 5. iOS ...
随机推荐
- Linux 下如何安装软件?
http://zhidao.baidu.com/link?url=OkQCOZtVMXhasC8x9zFTZOumsFKf0WW25Ckr2wBF1xO08EsjrBpnMaTBlIAUYdxZ408 ...
- iOS 堆和栈 的理解
本文部分内容整理于网络,感谢原作者. 堆(heap)和栈(stack)是C/C++编程不可避免会碰到的两个基本概念.首先,这两个概念都可以在讲数据 结构的书中找到,他们都是基本的数据结构,虽然栈更为简 ...
- Linux基本配置和管理 4 ---- Linux系统启动详解
1 系统启动的流程 BIOS -> MBR+boot code -> 执行引导程序: GRUB -> 加载内核 -> 执行init -> 运行runlevel 2 启动详 ...
- 张冬:OpenPOWER CAPI为什么这么快?(二)
张冬:OpenPOWER CAPI为什么这么快?(二) PMC公司数据中心存储架构师张冬 有了CAPI的FPGA是怎么做的? 首先认识一下这个体系里的三个角色: AFU(Acceleration ...
- openwrt 家用备忘
- jvm强制类型转换
public class Integer_Object { public static void main(String[] args){ Object obj = new ooo(); // Int ...
- Linux文件管理常用命令
1.目录管理 [ls.cd.pwd.mkdir.rmdir.tree] tree:list contents of directories in a tree-like format. 2.文件管理 ...
- LeetCode之ReverseWorldString
题目:将一个英文句子翻转,比如:the sky is blue 翻转后变为:blue is sky the 分析:我的实现方法是,利用栈将单词存储起来,然后再顺序拿出来,单词进栈还需注意添加空格. 主 ...
- DBI && MySQL lock
DBI: url set isolation to dirty read my $npmdb_dbh = DBI->connect("DBI:ODBC:npmdb", &qu ...
- MUD江湖_MUD文字游戏_MUD五指_武林群侠_北侠_夺宝江湖_书剑_文字江湖游戏_MUD游戏下载
MUD江湖_MUD文字游戏_MUD五指_武林群侠_北侠_夺宝江湖_书剑_文字江湖游戏_MUD游戏下载 武侠类手机文字游戏,经典再现高度自由玩法宠物 自制装备 师徒自立门派 自造武功欢迎来玩 Q群 1 ...