Swift&x2B;iOS,HANDYJSON线程1:EXC_坏_访问(代码=1,地址=0x20c7f4194)
从api解析JSON后反序列化结构时,应用程序崩溃, 将xCode更新到9.3版后,开始出现崩溃 ,我无法找出或诊断出问题所在或原因, 崩溃或错误发生在此处,如下图所示Swift&x2B;iOS,HANDYJSON线程1:EXC_坏_访问(代码=1,地址=0x20c7f4194),ios,json,swift,deserialization,xcode9.3,Ios,Json,Swift,Deserialization,Xcode9.3,从api解析JSON后反序列化结构时,应用程序崩溃, 将xCode更新到9.3版后,开始出现崩溃 ,我无法找出或诊断出问题所在或原因, 崩溃或错误发生在此处,如下图所示 提前谢谢 HandyJSON项目中已经报告了这个问题,似乎有一个解决方案。所以你有三个选择 降级至Swift 4.0并等待下一版本 下载代码并自己实现 寻找其他JSON解决方案,比如使用Codable的Swift内置支持 请以文本形式显示您的代码以及所有相关部分。我忍不住注意到HandyJSON项目自述文件中的以下内容:“Ha
提前谢谢 HandyJSON项目中已经报告了这个问题,似乎有一个解决方案。所以你有三个选择
请以文本形式显示您的代码以及所有相关部分。我忍不住注意到HandyJSON项目自述文件中的以下内容:“HandyJSON完全依赖于从Swift运行时代码推断出的内存布局规则。我们正在关注它,如果它发生变化,我们将关注它的每一点。”
import UIKit
import HandyJSON
import EventKit
class PlayersViewController:UIViewController{
var personsArray=[PersonData]()
func getAllPlayers(){
let params = ["id":"5"]
Communicator.performAsyncRequest(httpMethod: .post, apiName:Helper.sharedInstance().getActivityWithoutSyncID, parameters: params , showHUD: false) { (isSuccess, error, response, message) in
if isSuccess && response != nil {
let jsonData = try! JSONSerialization.data(withJSONObject: response as Any, options: JSONSerialization.WritingOptions.prettyPrinted)
let jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue)! as String
print(jsonString)
if let Persons = PersonStruct.deserialize(from: jsonString) {
if Persons.Status == "S200"{
for person in PersonsStruct.Data {
self.personsArray.append(person)
}
}
}
}
}
}
struct PersonStruct: HandyJSON {
var Status:String?
var Data=[PersonData]()
var Error = [String]()
var Extra = SyncActivityStructExtra()
}
struct PersonData:HandyJSON{
var id:String?
var name:String?
var phoneNumber:String?
}