在使用带Swift的Objective-C时,Xcode无法识别CGFloat / UIFont / CGSize

时间:2014-08-10 08:26:51

标签: objective-c xcode swift

我创建了一个新的Swift项目,并尝试将我现有的Objective C代码导入到Swift项目中。一切都很顺利,Xcode 6 Beta 5抱怨CGFloat UIFont CGSize ...我看到的错误是

  

期待类型

  

未知类型名称' CGFloat'

就在我的一些方法旁边。我认为Swift应该与Objective C保持友好并接受我所有的Objective C代码,但不幸的是,事实并非如此。

任何想法?,建议或评论,我将不胜感激。感谢。

4 个答案:

答案 0 :(得分:68)

只需添加您面临错误的

#import <UIKit/UIKit.h>

答案 1 :(得分:6)

夫特

import CoreGraphics

import UIKit

如果您愿意。 (UIKit包括CoreGraphics)

答案 2 :(得分:4)

如果您尝试导入现有的Objective-C代码而不是首先在Swift项目中创建一个Objective-C头文件。 。 。

点击后,编辑要求创建Bridging-Header,您必须单击yes:

enter image description here

这些会创建 yourSwiftProjectName-Bridging-Header.h 文件。 。 。

现在,在项目中导入现有的objective-c文件&amp;只需在Bridging-Header.h文件中导入头文件,例如

如果你的objective-c文件是viewController.h&amp; viewController.m比在Bridging-Header.h文件中写一行代码:

#import "viewController.h"

我认为,此代码适合您。 。

答案 3 :(得分:0)

在多模块环境中,可能是因为设置错误.modulemap[About] 或伞头不包含它