1

在我的 Obj-C 文件中,我有这个静态成员和 getter :

//******* DBASplashViewController.m ********
static SWRevealViewController *staticRVC;
+ (SWRevealViewController*)currentSWRevealViewController
{
    return staticRVC;
}

//******* DBASplashViewController.h ********
+ (SWRevealViewController*)currentSWRevealViewController;

在我的快速代码中,我在这一行有一个错误:

let SWVC = DBASplashViewController.currentSWRevealViewController

Error : *DBASplashViewController has no member currentSWRevealViewController*

编辑 :

这是我的桥接文件:

 #import "DBASplashViewController.h"

如您所见,DBASplashViewController 可以由 XCode 完美解释,但不是静态方法:

在此处输入图像描述

我做错了什么?

4

2 回答 2

1

经过长时间的调查,我的桥接头似乎缺少导入。

DBASplashViewController.currentSWRevealViewController()必须返回 SWRevealViewController 类型的对象。

看来我忘记在我的桥接头中有该行:

#import "SWRevealViewController.h"

由于返回类型是在 Swift 部分定义的,因此我可以访问我的静态变量。

于 2016-06-23T07:25:02.597 回答
0

注意这currentSWRevealViewController是一个方法,而不是一个属性,如果你想执行它,你应该使用下面的符号,基本上是添加一对圆括号。否则,这将返回实际上是(function)的函数的类型。

let SWVC = DBASplashViewController.currentSWRevealViewController()

假设您有正确的桥接头并且staticRVC变量按预期工作,这将起作用。

于 2016-06-16T12:47:33.000 回答