【问题标题】:Unknown type name 'UIImage'未知类型名称'UIImage'
【发布时间】:2014-11-19 08:37:06
【问题描述】:

我最近将 XCode 从 5.1.1 升级到 XCode 6.0.1。现在每次我想定义一个新的 UIImage 对象我都会收到这个错误:

未知类型名称'UIImage'

代码:
1.新建项目
2. 将Image View控件添加到storyboard
3.通过添加IBOutlet引用Image View
4. 添加新的类文件
5、在新类的头文件中添加如下代码:

@property (strong, nonatomic) UIImage *background;

头文件(.h)内容:

#import @interface CCTile : NSObject @property(强,非原子)NSString *story; @property (strong, nonatomic) UIImage *background; // 错误:未知类型名称 'UIImage' @结尾

但是,如果我将#import <UIKit/UIKit.h> 添加到头文件(上图)中,一切似乎都正常! 任何想法我在这里想念什么,好吗?这是XCode头文件的变化吗!

【问题讨论】:

  • 不导入 UIKit 编译器不知道 UIImage 是什么。 UIImage 是在 UIKit 中定义的,所以你需要导入它。可能 Xcode 没有自动导入它,因为您是从 NSObject 子类化而不是 UIViewController 或其子类
  • 我记得在 XCode 5 中不需要这个#import! UIImage 以某种方式为人所知,可能是因为它是在 (main.m) 中定义的,但 XCode 6 就是这种情况!好吧,我认为 XCode 6 中存在导致这种行为的变化。

标签: xcode5 xcode6


【解决方案1】:

我也遇到了同样的问题,用

解决了
#import <UIKit/UIKit.h>

但是,我挖掘了更多内容,并将在 XCode 6 中创建的项目与 Xcode 5 进行了比较,我注意到 Xcode 6 没有创建前缀头文件。前缀头文件隐式导入到每个类中,前缀头文件(.pch)包括UIKit和Foundation。

要创建 pch 文件,请转到文件 -> 新建 -> 文件 -> 其他 -> PCH 文件。将名称编辑为“YourProject-prefix.pch”。添加以下内容:

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

然后您需要设置构建设置。转到您的项目 -> 构建设置 -> 在顶部搜索:前缀标题。

您将看到 Precompile Prefix Header -> 更改为 yes。 此外,正下方是前缀标题。添加前缀标头的路径。应该像:“YourProject/YourProject-prefix.pch”。

【讨论】:

  • 好东西,像这样你不必考虑在每个相关文件中手动导入 UIKit。谢谢!
  • 我面临同样的问题,但在一个 pod 的文件中。现在我无法更改 pod 文件(因为它将在下次更新时重新更改)。我也想使用 Xcode 6 提供的新 Modulus 而不是 pch 文件。 N
  • 它对我很有帮助。
【解决方案2】:

对于未知类型名称“UIImage”或任何所需的 UI 对象。

#import (UIKit)这将解决您的问题。这对我有用....

【讨论】:

  • 我注意到了!我想知道为什么 XCode 6 会发生这种情况!在 XCode 5 中,我不记得我必须为普通 UI 对象 #import 任何额外的标头。
【解决方案3】:

遇到了同样的问题。通过这样做解决了它

#import <UIKit/UIKit.h>

感谢苹果:P

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 2018-10-27
    • 2016-09-16
    • 2012-04-03
    • 2017-01-09
    • 2015-01-25
    相关资源
    最近更新 更多