我一直在寻找为什么Objective-C类中的singleton方法定义在Xcode的Swift接口上不可用的原因的文档。Objective C Singleton方法不适用于Swift接口
的Objective-C类的定义如下
/**
* A general accessor across the sample App to remove the dependency of QPSLibraryManager from resusable components.
*/
@interface QPSSharedAccessor : NSObject
/**
* Required by QPSLibraryManager and some UI components.
*/
@property (nonatomic, strong) QPSApplicationConfiguration *qpsConfiguration;
/**
* Provides Commands to app
*/
@property (nonatomic, strong) id<QPSAppController> appController;;
/**
* Shared singleton.
*/
+ (instancetype)sharedAccessor;
/**
* Returns access to a configuration manager
*/
- (QPSConfigurationManager *)configurationManager;
@end
在夫特接口,其像这样
/**
* A general accessor across the sample App to remove the dependency of QPSLibraryManager from resusable components.
*/
open class QPSSharedAccessor : NSObject {
/**
* Required by QPSLibraryManager and some UI components.
*/
open var qpsConfiguration: QPSApplicationConfiguration!
/**
* Provides Commands to app
*/
open var appController: QPSAppController!
/**
* Returns access to a configuration manager
*/
open func configurationManager() -> QPSConfigurationManager!
}
定义我期望看到的sharedAccessor()单方法上夫特但正如你所看到的那样,它缺失了。在单独的swift文件中调用该方法会导致编译器错误,并说sharedAccessor()方法不存在。把所有东西都转换成Swift是不可行的。建议解决这个问题?