Ios 在Swift类中使用Objective-c类

Ios 在Swift类中使用Objective-c类,ios,objective-c,swift,Ios,Objective C,Swift,我最近被迫在swift中使用了一些objective-c语言,我搜索并发现: 从同一目标将Objective-C代码导入Swift 1) 在Objective-C桥接头文件中,导入每个Objective-C 要向Swift公开的标题。例如: #import "XYZCustomCell.h" #import "XYZCustomView.h" #import "XYZCustomViewController.h" 2) 在构建设置中,在Swift编译器-代码生成中,确保Objective-C桥

我最近被迫在swift中使用了一些objective-c语言,我搜索并发现:

从同一目标将Objective-C代码导入Swift

1) 在Objective-C桥接头文件中,导入每个Objective-C 要向Swift公开的标题。例如:

#import "XYZCustomCell.h"
#import "XYZCustomView.h"
#import "XYZCustomViewController.h"
2) 在构建设置中,在Swift编译器-代码生成中,确保Objective-C桥接头 下的生成设置具有桥接头文件的路径。路径 应该与您的项目相关,类似于您的Info.plist 路径在生成设置中指定。在大多数情况下,你不应该这样做 需要修改此设置

中列出的任何公共Objective-C标题 此桥接头文件将对Swift可见。目标-C 该目标内的任何Swift文件都将提供该功能 自动,无需任何导入语句。使用您的自定义 Objective-C代码与系统使用的Swift语法相同 上课

我按照步骤向swift类添加了初始代码:

let percentageView: FSPercentageView = FSPercentageView(frame: CGRectMake(15, 65, 300, 300))
但我在消息中遇到了一个错误:用于未声明的类型“FSPercentageView”

我在swift中使用objective-c搜索了这个错误,但没有找到任何有用的答案。 我检查了网桥头文件路径,它看起来很好

我希望你的建议能解决我的问题

更新:

我的桥牌头球

#import "FSPercentageView.h"
我的FSPercentageView.h类:

#import <Foundation/Foundation.h>

#import "MCCore.h"

@class FCPercentageView;

typedef enum {
    FSPercentageViewTextStyleAutomaticShowsPercentage,
    FSPercentageViewTextStyleUserDefined
} FSPercentageViewTextStyle;



@interface FSPercentageView : MCNewCustomLayeredView

/*
 Sets the percentage of the view.
 */
@property (nonatomic) CGFloat percentage;

/*
 Sets the percentage of the view.
 */
@property (nonatomic) CGFloat initialPercentage;

/*
 Defines the border percentage for both filled and unfilled portions.
 */
@property (nonatomic) CGFloat borderPercentage;

/*
 The label of the text in the center of the doughnut.
 */
@property (nonatomic, retain) UILabel *textLabel;

/*
 The color for the filled portion of the doughnut.
 */
@property (nonatomic, retain) UIColor *fillColor;

/*
 The color for the unfilled portion of the doughnut.
 */
@property (nonatomic, retain) UIColor *unfillColor;
}
以及swift代码:

 let percentageView: FSPercentageView = FSPercentageView(frame: CGRectMake(15, 35, 289, 311))
显示上面一行中的错误

我希望你的建议能解决我的问题


但是你没有提供任何信息,所以不可能有任何建议。苹果说的是真的;我向您保证,此功能确实有效。问题只可能是您没有遵循自己引用的说明。

我发现了我的代码存在的问题

我的应用程序中有两个目标,而且我正在使用测试单元。 由于在所有提到的目标中添加了我的swift代码,因此项目需要有3个与每个目标相关的桥接类,并且必须在所有目标中导入标题。实际上,红色消息是关于单元测试桥接文件的


现在,我从测试单元中删除了swift类,代码正在编译和运行,没有任何问题

显示更多的代码。显示桥接标头。显示声明FSPercentageView的文件。哦,你可能想看看我的书,我认为这本书比苹果的文档更清晰:FSPercentageView.h应该以
@end
结尾,而不是大括号。
 let percentageView: FSPercentageView = FSPercentageView(frame: CGRectMake(15, 35, 289, 311))