Objective-C 访问 Swift 包函数
Objective-C accessing Swift Package functions
目标: 在 Objective-C 中使用 Swift 包。
我想做的就是对 ObjC 中访问 Swift vars & func() 的正确语法有一个简单、基本的理解。
这是关于using Objective-C with a Swift package的问题的第二部分。
这是我正在尝试访问的 Swift 包文件...
我专注于 Swift class 访问。
但我也想知道如何访问 struct.
import Foundation
public struct RicStruct {
public private(set) var text = "Hello, World!"
public init() {
}
public func sayHello() -> String {
"Hello Ric!"
}
}
public class RicClass: NSObject {
@objc public var msg = "Mother has a feeling, I might be too appealing."
@objc public let text = "Hello Everybody!"
public override init() {}
public func sayHello() {
print(text)
}
public func doSomething() {
print("Inside doSomething()")
}
}
这是 Objective-C 父尝试访问 Swift-Package vars & func:
问题:访问的正确语法是什么:
- Swift class & 结构函数,
- Swift var/let?
你声明了
public func sayHello() {
print(text)
}
这使得方法 sayHello
public 跨模块,但不会将其公开给 Objective-C。相反:
@objc public func sayHello() {
print(text)
}
我没有将“@objc”限定符添加到 Swift 函数。
我曾错误地认为没有必要,因为根据 class 声明,它是 NSObject class 的成员。
此外,不需要添加 .h ObjC <--> Swift 桥接文件。
目标: 在 Objective-C 中使用 Swift 包。
我想做的就是对 ObjC 中访问 Swift vars & func() 的正确语法有一个简单、基本的理解。
这是关于using Objective-C with a Swift package的问题的第二部分。
这是我正在尝试访问的 Swift 包文件...
我专注于 Swift class 访问。
但我也想知道如何访问 struct.
import Foundation
public struct RicStruct {
public private(set) var text = "Hello, World!"
public init() {
}
public func sayHello() -> String {
"Hello Ric!"
}
}
public class RicClass: NSObject {
@objc public var msg = "Mother has a feeling, I might be too appealing."
@objc public let text = "Hello Everybody!"
public override init() {}
public func sayHello() {
print(text)
}
public func doSomething() {
print("Inside doSomething()")
}
}
这是 Objective-C 父尝试访问 Swift-Package vars & func:
问题:访问的正确语法是什么:
- Swift class & 结构函数,
- Swift var/let?
你声明了
public func sayHello() {
print(text)
}
这使得方法 sayHello
public 跨模块,但不会将其公开给 Objective-C。相反:
@objc public func sayHello() {
print(text)
}
我没有将“@objc”限定符添加到 Swift 函数。
我曾错误地认为没有必要,因为根据 class 声明,它是 NSObject class 的成员。
此外,不需要添加 .h ObjC <--> Swift 桥接文件。