在同一文件中声明委托协议

卡蒂特

我有以下标题:

@protocol AttachmentsViewDelegate <NSObject>

@required
- (void)spaceRequestedWithSize:(CGSize)size sender:(AttachmentsView*)sender;

@end

@interface AttachmentsView : UIView

@property id<AttachmentsViewDelegate> delegate;
@property NSArray *attachments;

- (void)takePicture;
- (void)deletePictures;

@end

无法使用,因为在@protocol内部,我引用了AttachmentsView,但尚未声明。

如果我将@protocol移到@interface下面-我会遇到另一个问题,因为委托属性不了解@protocol。

我知道我可以将id,UIView用于类型,但是要使其保持“强类型”,我该怎么办?我真的不希望将其分解为2个文件。还有其他选择/建议吗?

耶尔

使用@class以前瞻声明AttachmentsView,如下所示:

@class AttachmentsView;

@protocol AttachmentsViewDelegate <NSObject>

// Protocol method declarations...

@end

或者,使用@protocol转发声明协议:

@protocol AttachementsViewDelegate

@interface AttachmentsView : UIView

// Ivar, method, and property declarations...

@property id<AttachmentsViewDelegate> delegate;

@end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从声明的同一文件中导入函数

React-Typescript,在单独的文件或同一文件中声明接口,哪个更好?

调用同一文件中的测试功能

将值存储在同一文件中

从同一文件中绘制多个系列

从同一文件中调用PHP函数

在PHP中多次包含同一文件

是否在同一文件PSR-1中兼容类声明和对象初始化?

Terraform-尽管变量已在同一文件中声明,但找不到变量资源

无法声明类,因为该名称已在(同一文件)中使用

同一fd在不同进程中如何指向同一文件?

同一目录中同一文件的不同MD5Sum

当在同一文件中同时存在变量声明及其外部声明时,这意味着什么?

文件名来自同一文件夹中的其他文件

从与.jar文件位于同一文件夹中的文件读取

从文件读取后写回同一文件

同一文件的多个文件句柄

在同一文件系统中移动文件

忽略同一文件夹中多个文件中的字符

如何通过同一文件夹中的.vbs文件运行.ps1文件?

对同一文件进行多次ajax调用以在同一文件中执行不同的代码?

HTML无法识别同一文件夹中的JS文件

从ftp下载文件并保存在同一文件夹中

在同一文件夹中命名文件空间

正在读取同一文件夹中的文件-改进了吗?

熊猫在多个文件上合并并保存在同一文件中

检查两个文件指针是否指向Python中的同一文件

是否可以从存在Azure功能的同一文件夹中读取文件

require()即使在同一文件夹中也不适用于文件