我想从目标c调用一个方法到swift文件。但向我显示DCSideMenuViewController
的值没有成员viewControllerFromMenuItem
我在bridging-header.h中导入了目标c文件,但是可以正常工作
这是一个快捷文件
let obj:DCSideMenuViewController = DCSideMenuViewController()
DCSideMenuViewController().viewControllerFromMenuItem
2。这是目标C文件
- (DCBaseViewController*)viewControllerFromMenuItem: (DCMenuSection)menuItemandControllerId:(NSString*)controllerId {
NSString* storyboardName = [selfstoryboardNameForMenuItem:menuItem];
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
if ([controllerId isEqualToString:@"DCFloorPlanController"]) {
storyboard = [UIStoryboard storyboardWithName:@"SMain" bundle:nil];
}
类型DCSideMenuViewController
的值没有成员viewControllerFromMenuItem
答案 0 :(得分:0)
您的方法应转换为以下Swift方法:
func fromMenuItem(_ menuItem: DCMenuSection, andControllerId controllerId: String) -> DCBaseViewController
您始终可以查看生成的Swift界面以找到可用的方法。
在以下建议中,您可以找到如何将Objective C API转换为Swift:https://github.com/apple/swift-evolution/blob/master/proposals/0005-objective-c-name-translation.md
可以在“修剪步骤-> 4”中找到您的案例。4.只要匹配在动词之后开始,就可以从方法的基本名称中为匹配类型修剪匹配。