高级概念
在应用程序中添加 ObjectiveC/Swift 代码
您可以在 App_Resources/iOS/src
中添加 Objective-C/Swift 源文件。对于 Objective-C 文件,请创建一个 .modulemap
文件。要添加一个 CocoaPod,请编辑 App_Resources/iOS/Podfile
bash
App_Resources/
├─ iOS/
│ ├─ src/
│ │ ├─ Shimmer.swift
│ │ ├─ Shimmer.h
│ │ ├─ Shimmer.m
│ │ └─ module.modulemap
│ └─ Podfile
└─ ... more
添加 Swift 代码
在 App_Resources/iOS/src
中定义 Swift 文件。
swift
// HelloSwift.swift
import UIKit
class HelloSwift: NSObject {
@objc public var stringToReturn: String = "Hello from Swift!"
@objc public func getString() -> String {
return stringToReturn;
}
}
假设上面的示例,您的 JavaScript 或 TypeScript 代码可以使用完整类名引用 Swift 代码
ts
const helloSwift = new HelloSwift()
helloSwift.stringToReturn = 'Custom hello from Swift!'
console.log(helloSwift.getString())
// prints: Custom hello from Swift!
使用 @objc
@objc
允许公开变量和函数以供 JS/TS 使用,请注意示例中的变量和方法具有此标记。
使用 @objcMembers
@objcMembers
标记是 @objc
标记的快捷方式,它可以使整个类在类级别上可访问。
swift
// HelloSwift.swift
import UIKit
@objcMembers
class HelloSwift: NSObject {
public var stringToReturn: String = "Hello from Swift!"
public func getString() -> String {
return stringToReturn;
}
}