解析问题/预期Swift中的CGFloat类型

时间:2014-08-29 16:04:30

标签: swift xlform

我已使用Xcode 6 beta 6将XLForm(一个Objective C库)添加到我的Swift项目中。

编译器会在XLFormDescriptorCell.h

中使用协议定义的方法原型
#import <Foundation/Foundation.h>
...
@protocol XLFormDescriptorCell <NSObject>
...
@optional
+(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor;
  ^
  Parse Issue / Expected a type

另外一个警告:&#34;语义问题:&#39; forDescriptorCellHeightForRowDescriptor的实现中的冲突返回类型:&#34; &#39; ID&#39; vs&#39; CGFloat&#39; (又名&#39;浮动&#39;)

到我的项目的Bridging-Header.h文件中我已经添加了(尽管无论是否添加,都会出现解析错误):

#import "XLForm.h"

本身包含XLFormDescriptorCell.h

我无法看到XLForm返回&#39; id&#39;的位置。有人遇到这个或类似的事情吗?

1 个答案:

答案 0 :(得分:8)

CGFloat在CoreGraphics / CGBase.h中声明,它是由UIKit / UIKit.h导入的一些头文件导入的,默认情况下会导入Xcode为您创建的大多数代码文件,并根据需要手动导入。

对于返回类型不匹配,请检查实现中返回的值,确保它准确返回CGFloat,而不是NSNumber或其他任何内容。