我已经使用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
此外还有一条警告:"语义问题:'forDescriptorCellHeightForRowDescriptor'的实现中的返回类型冲突:"'id'与'CGFloat'(又名'float')
在我添加的项目的Bridging Header.h文件中(尽管无论我是否添加,都会出现解析错误):
#import "XLForm.h"
其本身包括XLFormDescriptorCell.h
我看不出XLForm在哪里返回"id"。有人遇到过这个或类似的东西吗?
CGFloat是在CoreGraphics/CGBase.h中声明的,它是由UIKit/UIKit.h中导入的一些头文件导入的,默认情况下,Xcode为您创建的大多数代码文件都是导入的,请根据需要手动导入。
至于返回类型不匹配,请在实现中检查返回值,确保它返回的是CGFloat,而不是NSNumber或其他任何值。