का उपयोग कर जेएसओएन को स्विफ्ट क्लास को सीरियलाइज करना IOS के लिए बहुत नया है, एंड्रॉइड डेवलपमेंट से आगे बढ़ रहा हूं।जे 2 ओबीजेसी और जीएसओएन लाइब्रेरी
हम आपको एक Android आवेदन जो कई पुस्तकालयों जो हम J2ObjC उपयोग कर रहे हैं उद्देश्य सी
में अनुवाद करने मैं धीरे-धीरे पुस्तकालयों लाने किया गया है और अब तक, तो अच्छा है की है।
let gson = ComGoogleGsonGson()
let swiftTest = GsonSwiftTest()
swiftTest.name = "Ricky"
print(gson.toJsonWithId(swiftTest))
मैं निम्न त्रुटि प्राप्त:
libc++abi.dylib: terminating with uncaught exception of type JavaLangAssertionError
हालांकि, गूगल के GSON पुस्तकालय के अनुवाद के बाद मैं एक मुद्दा जहां अगर मैं कोशिश करते हैं और अनुवाद विधि toJsonWithId
का उपयोग मैं समस्याओं आ जाती है, इसके अलावा यह दिखाता है:
Terminating app due to uncaught exception 'JavaLangAssertionError', reason: 'unknown Java type encoding'
मेरा स्विफ्ट क्लास है:
import Foundation
@objc
public class GsonSwiftTest : NSObject {
var name:String?
}
अगर मैं बजाय, मेरे स्विफ्ट परियोजना में एक उद्देश्य सी क्लास का उपयोग ब्रिजिंग हैडर में जोड़ने और उद्देश्य सी क्लास यह ठीक काम करता है का उपयोग करें।
मेरा मानना है कि यह मेरे हिस्से पर एक गलतफहमी है, लेकिन मुझे जवाब नहीं मिल रहा है कि यह क्यों काम नहीं करेगा। J2ObjC स्रोत कोड की जांच करने से पता चलता है कि कक्षा के प्रकार को नहीं मिला जब त्रुटि उत्पन्न की जा सकती है।
यदि कोई इस मुद्दे के कारणों की व्याख्या करने में मदद कर सकता है, तो इसकी सराहना की जाएगी।
धन्यवाद!
धन्यवाद टॉम, मुझे NSJSONSerialization के बारे में पता था, मैं बस विफलता के तर्क को समझना चाहता था, जिसे आपने अभी समझाया है। लाइब्रेरी पर आपके कड़ी मेहनत के लिए धन्यवाद। – Ricky