gpt4 book ai didi

ios - 在 obj c 中快速导入 Swift 非 View Controller 类

转载 作者:行者123 更新时间:2023-11-28 06:10:41 25 4
gpt4 key购买 nike

我正在尝试在 ObjC 中导入 Swift 3 类,但由于某些原因我无法执行此操作。该类不是 UIViewController 类,我发现的解决方案非常适用于 View Controller 类,但不适用于 Model 类。谁能帮忙?

open class UserDetails: JSONEncodable {
public var id: Int64?
public var usertoken: String?
public var firstName: String?
public var lastName: String?
public var email: String?
.....
}

最佳答案

要使 Swift 类在 Objective-C 中可见,它必须是 NSObject 的子类。此外,类型必须与 Objective-C 兼容(例如,可选的数字类型,如 Int64? 不能在 Objective-C 中表示)。它必须是非可选的或使其成为 NSNumber

参见 Writing Swift Classes and Protocols with Objective-C Behavior 将 Swift 与 Cocoa 和 Objective-C 结合使用。


仅供引用,我知道您问过 Swift 3,但如果编写 Swift 4,请确保使用 @objcMembers:

@objcMembers
open class UserDetails: NSObject, JSONEncodable {
public var id: Int64 = 0
public var usertoken: String?
public var firstName: String?
public var lastName: String?
public var email: String?
...
}

或者如果其中只有一部分需要从 Objective-C 中获得,只需使用 @objc 限定符指定各个属性/方法即可。

关于ios - 在 obj c 中快速导入 Swift 非 View Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46782693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com