objective-c - typedef 的重新定义是 C11 的一个特性

标签 objective-c ios

我正在尝试创建这样的头文件:

#import <UIKit/UIKit.h>

typedef void (^RevealBlock)();

@interface BFTasksViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate> {
@private
    RevealBlock _revealBlock;
}

- (id)initWithTitle:(NSString *)title withRevealBlock:(RevealBlock)revealBlock;

@end

但是我收到这个警告:

Redefinition of typedef 'RevealBlock' is a C11 feature

这有什么值得担心的吗?我在看GHSidebarNav project ,这似乎很好用。

最佳答案

您必须在其他地方声明了 RevealBlock,因为我没有看到除 UIKit/UIKit.h 之外的任何导入,请检查您的项目 .pch 文件是否存在冲突的 header (或者可能是您删除了一些标题以使代码段更短?)。

关于objective-c - typedef 的重新定义是 C11 的一个特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12358778/

相关文章:

iphone - 如何在 Objective-C 中使用 C 预处理器递增一个值?

ios - UILongPressGestureRecognizer 识别其 View 外的触摸

iphone - 我将 UIButtons 添加到我的应用程序中并为它们制作了自定义图像,但是当我在模拟器中运行该应用程序时,我的按钮被严重拉伸(stretch)

iphone - 获取 iOS 中移动证书中包含的 pfx 文件

ios - 在 iOS 中为任意层属性设置动画

android - React-Native 为什么动画不是线性的并且来自发布的地方?

ios - 使用库实现自定义 UISwitch - 我做错了什么导致尺寸问题?

ios - NSInvocation 返回值但使用 EXC_BAD_ACCESS 使应用程序崩溃

ios - 用户通过 Facebook 登录后验证 API 请求

ios - MDCTextField 中的属性文本不起作用