ael*_*lam 5 protocols ios swift
在Objective C中,@ interface和@protocol可以具有相同的名称.如何在Swift中创建一个只采用协议的类?
@interface NICellObject : NSObject <NICellObject>
// Designated initializer.
- (id)initWithCellClass:(Class)cellClass userInfo:(id)userInfo;
- (id)initWithCellClass:(Class)cellClass;
+ (id)objectWithCellClass:(Class)cellClass userInfo:(id)userInfo;
+ (id)objectWithCellClass:(Class)cellClass;
@property (nonatomic, strong) id userInfo;
@end
Run Code Online (Sandbox Code Playgroud)
如何在没有子类NICellObject的情况下采用NICellObject协议
将目标c类导入swift时,"Protocol"将自动附加到协议名称.所以你应该采用XXXXXProtocol.
我刚刚在我的本地项目中尝试过.在您的情况下NICellObjectProtocol.
你弄错了,它们是同名的两个不同的东西.一个是名为NICellObject的协议,另一个名为NICellObject的类.
如何使用一个协议在swift中实现两个协议也是一个类在Nimbus中有一个NICellObject,它是一个协议和一个类,请参阅下面的代码.必须有许多相同的案例.
一些协议将许多不相关的方法组合在一起(而不是创建几个单独的小协议).这些协议往往与作为协议主要表达的类相关联.在这些情况下,约定是为协议提供与类相同的名称.
并且在Swift中无法做到这一点.我找不到这样说的文件,但有些提示从语言参考中,声明会在您的程序中引入新名称或合同.
"声明在您的程序中引入了新名称或构造.例如,您使用声明来引入函数和方法,变量和常量,以及定义新的命名枚举,结构,类和协议类型.您还可以使用声明来扩展现有命名类型的行为,并将符号导入到其他地方声明的程序中.
"
摘要来自:Apple Inc."The Swift Programming Language".iBooks.https://itun.es/cn/jEUH0.l
| 归档时间: |
|
| 查看次数: |
2427 次 |
| 最近记录: |