Tôi rất mới đối với iOS, di chuyển từ phát triển Android.Nối tiếp lớp Swift thành JSON bằng cách sử dụng thư viện J2ObjC và GSON
Chúng tôi có một ứng dụng Android trong đó có một số thư viện mà chúng tôi đang sử dụng J2ObjC để dịch sang Objective C.
Tôi đã từng bước đưa trên các thư viện và cho đến nay, như vậy tốt.
Tuy nhiên, sau khi dịch thư viện GSON của Google Tôi có một vấn đề mà nếu tôi cố gắng và sử dụng phương pháp dịch toJsonWithId
tôi đi qua các vấn đề:
let gson = ComGoogleGsonGson()
let swiftTest = GsonSwiftTest()
swiftTest.name = "Ricky"
print(gson.toJsonWithId(swiftTest))
tôi nhận được lỗi sau:
libc++abi.dylib: terminating with uncaught exception of type JavaLangAssertionError
Hơn nữa nó cho thấy:
Terminating app due to uncaught exception 'JavaLangAssertionError', reason: 'unknown Java type encoding'
Lớp Swift của tôi là:
import Foundation
@objc
public class GsonSwiftTest : NSObject {
var name:String?
}
Nếu tôi thay vì sử dụng lớp C mục tiêu trong dự án Swift, hãy thêm nó vào tiêu đề cầu nối và sử dụng lớp Objective C hoạt động tốt.
Tôi tin rằng đây là một sự hiểu lầm về phía tôi, nhưng tôi không thể tìm thấy câu trả lời là tại sao điều này sẽ không hoạt động. Kiểm tra mã nguồn J2ObjC cho thấy lỗi được nêu ra khi loại của lớp không thể được tìm thấy.
Nếu có ai đó có thể giúp giải thích lý do cho vấn đề này, nó sẽ được đánh giá cao.
Cảm ơn!
Cảm ơn Tom, tôi đã biết về NSJSONSerialization, tôi chỉ muốn hiểu lý do cho sự thất bại mà bạn đã giải thích. Cảm ơn bạn đã làm việc chăm chỉ trên thư viện. – Ricky