【问题标题】:Cannot find interface declaration for 'UIView'找不到“UIView”的接口声明
【发布时间】:2014-10-10 18:51:31
【问题描述】:

我正在尝试将目标 C library for toasts 添加到我的 xcode 项目中。 但我遇到了许多这样的错误:

"Cannot find interface declaration for 'UIView'"

"Expected a type"

我已经链接到 QuartzCore.framework。并且 .m 文件已被添加到编译源。 我错过了什么?我是ios的新手。请帮忙。

【问题讨论】:

  • 请粘贴更多代码...

标签: ios objective-c xcode


【解决方案1】:

这是库中的错误。头文件 (UIView+Toast.h) 使用了UIView,但没有导入<UIKit/UIKit.h>,因此将其源文件复制到您的项目中可能会出现此错误。

更新This bug was fixed on October 14, 2014.

解决此问题的一种方法是将#import <UIKit/UIKit.h> 添加到UIView+Toast.h 的顶部。

如果您的项目有.pch 文件,另一种方法是将#import <UIKit/UIKit.h> 添加到“支持文件”组中目标的.pch 文件中。看起来 Xcode 6 的项目模板不包含 .pch 文件,因此您可能无法轻松使用此修复程序。

【讨论】:

  • 正确答案,我刚刚在 .pch 文件中添加了#import 。一切正常。
  • 两个竖起大拇指!我有一个混合类,其中 swift 类试图通过桥头获取一个 Objective 类。我收到了这个错误和数千个错误(对于我声明的 UIView,即 UILabel、UITextView 等)。毫无疑问,目标 C 类没有导入 UIKit。添加修复它。问题是:Objective C 类在不导入 UIkit 包的情况下运行良好;为什么?
  • 也许项目有一个.pch(预编译的头文件)导入了UIKit。
【解决方案2】:

一定要包含 UIKit,这是定义 UIView 的地方:#import <UIKit/UIKit.h>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2019-02-23
    • 2016-11-03
    • 2014-01-10
    • 2015-01-25
    相关资源
    最近更新 更多