Ish*_*wal 3 objective-c ios swift
在主要的objective-c 应用程序中使用swift 代码的所有教程都经历了这个Apple 文档中提到的这个过程https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
但是这种导入xyzProjectName-swift.h文件然后使用的方法
MySwiftClass *swiftObject = [[MySwiftClass alloc] init];
[swiftObject swiftMethod];
Run Code Online (Sandbox Code Playgroud)
要求我创建该 swift 类的一个实例。是否可以直接访问类本身[MySwiftClass swiftMethod];
直到现在,我才能够做到这一点。我是否必须以某种方式更改我的 swift 代码才能实现这一目标?
刚刚尝试了以下内容:
class MySwiftClass: NSObject {
static func swiftMethod() -> String {
return "hello"
}
}
Run Code Online (Sandbox Code Playgroud)
在 Objective-C 中:
NSLog(@"Received from Swift: %@", [MySwiftClass swiftMethod]);
Run Code Online (Sandbox Code Playgroud)
对我有用 - 你确定你的swiftMethod是static,不是private?你也可以尝试@objc在 - 前面添加static func- 如果没有别的,至少它可能会警告你,如果存在无法从 Objective-C 访问的原因。
| 归档时间: |
|
| 查看次数: |
2065 次 |
| 最近记录: |