5 singleton objective-c ios swift swift4
我无法从Objective-C ViewController 访问我的Swift Singleton类.
Xcode确实识别我的Swift类,它构建,所以我不认为这是一个桥接头问题.
这是我的Swift Singleton类:
@objc class MySingleton : NSObject {
static let shared = MySingleton()
private override init() {}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的.m文件中导入此标头:
#import "myProject-Swift.h"
Run Code Online (Sandbox Code Playgroud)
以这种方式使用Singleton:
MySingleton *testSingleton = [MySingleton shared];
Run Code Online (Sandbox Code Playgroud)
或者这样:
[MySingleton shared];
Run Code Online (Sandbox Code Playgroud)
它确实识别MySingleton类类型,但我无法访问此类的任何函数或属性.
我错过了什么?所有类似的帖子都没有帮助.
编辑:我做了一个测试功能
func testPrint() {
print("Singleton worked")
}
Run Code Online (Sandbox Code Playgroud)
并在objective-c文件中以这种方式调用它:
[[MySingleton shared] testPrint];
Run Code Online (Sandbox Code Playgroud)
没有已知的选择器'testPrint'实例
在你的Swift Singleton类中,@objc为以下方法添加testPrint():
@objc func testPrint() {
print("Singleton worked")
}
Run Code Online (Sandbox Code Playgroud)
现在,您从Objective-C类访问该方法:
[[MySingleton shared] testPrint];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2249 次 |
| 最近记录: |