【问题标题】:declare a forward reference to block typedef?声明对块 typedef 的前向引用?
【发布时间】:2011-01-25 13:51:25
【问题描述】:

在一个头文件中我有类似的东西:

typedef void (^MyBlock)(void);

我需要在另一个头文件中使用相同的精确引用。

当然,我可以#import一个头文件到另一个头文件中,或者在全局预编译头文件中包含typedef,但是有没有办法转发引用块typedef?

【问题讨论】:

  • 您的意思是,您可以通过@class MyClass;@protocol MyProtocol; 转发声明类和协议,对吗?

标签: objective-c objective-c-blocks


【解决方案1】:

据我所知,我只是将其放在共享标头中,并将其包含在需要的地方。

【讨论】:

  • 这就是我所做的:创建一个只有 typedef 的头文件,然后将该头文件#import 到其他头文件中。谢谢!
  • 只为块设置标题似乎很奇怪。没有什么比这个块更“附加”到它属于标题的地方了?
  • 它被几个不同的班级使用:其中两个彼此不认识,一个父母使用这两个。另外,如果您将其视为一种类型,那么在其自己的标头中定义它是有意义的。由于我将此头文件(带有 typedef 的头文件)导入到其他头文件中,所以 typedef-header 的范围如此之小很好。
猜你喜欢
  • 1970-01-01
  • 2016-06-19
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多