【发布时间】:2015-10-08 09:45:52
【问题描述】:
我是 iOS 的新手,从 Android 开发开始。
我们有一个 Android 应用程序,其中包含多个库,我们使用 J2ObjC 将其转换为 Objective C。
我一直在逐渐引入图书馆,到目前为止,一切都很好。
但是,在翻译 Google 的 GSON 库后,我遇到了一个问题,如果我尝试使用已翻译的方法 toJsonWithId 我会遇到问题:
let gson = ComGoogleGsonGson()
let swiftTest = GsonSwiftTest()
swiftTest.name = "Ricky"
print(gson.toJsonWithId(swiftTest))
我收到以下错误:
libc++abi.dylib:以未捕获的类型异常终止 JavaLangAssertionError
进一步说明:
由于未捕获的异常“JavaLangAssertionError”而终止应用程序, 原因:'未知的 Java 类型编码'
我的 Swift 课程是:
import Foundation
@objc
public class GsonSwiftTest : NSObject {
var name:String?
}
如果我在我的 Swift 项目中改用 Objective C 类,请将其添加到桥接头并使用 Objective C 类,它可以正常工作。
我认为这是我的一个误解,但我找不到为什么这不起作用的答案。检查 J2ObjC 源代码显示当找不到类的类型时会引发错误。
如果有人可以帮助解释此问题的原因,我们将不胜感激。
谢谢!
【问题讨论】:
标签: ios objective-c swift gson j2objc