Я получаю данные по индексу от JSON
позвольте мне показать вам мой ответ
{
"contraventionsData" : [
{
"id" : "1",
"contravention_id" : "314",
"question" : "Last Gas Boiler Service date (Noted on boiler)",
"Options" : [
{
"action" : "Yes"
},
{
"action" : "Further Investigation \/ Maintenance"
},
{
"action" : "N\/A"
}
]
},
{
"id" : "2",
"contravention_id" : "314",
"question" : "Is Gas Boiler due a service? (Over 12 Months)",
"Options" : [
{
"action" : "Yes"
},
{
"action" : "Maintenance Attention"
},
{
"action" : "N\/A"
}
]
},
{
"id" : "3",
"contravention_id" : "314",
"question" : "Gas heating system \/ boiler working ok?",
"Options" : [
{
"action" : "Yes"
},
{
"action" : "Maintenance Attention"
},
{
"action" : "N\/A"
}
]
},
{
"id" : "4",
"contravention_id" : "314",
"question" : "Copy of Current Service Cert give to tenant",
"Options" : [
{
"action" : "Yes"
},
{
"action" : "Tenant to be provided with copy of current service cert"
},
{
"action" : "N\/A"
}
]
}
],
"message" : "Successfully.",
"success" : "1"
}
вот мой ответ, и я получаю по индексу, как показано ниже
Код
func actionListAPI(){
let preferences = UserDefaults.standard
let uid = "u_id"
let acTkn = "acc_tkn"
let u_ID = preferences.object(forKey: uid)
let A_Token = preferences.object(forKey: acTkn)
let params = ["user_id": u_ID!, "access_token": A_Token!,"contraventions_id": conID!]
print(params)
SVProgressHUD.show()
Alamofire.request(reg6contraventionsquestions, method: .post, parameters: params).responseJSON(completionHandler: {(response) in
switch response.result{
case.success(let value):
let json = JSON(value)
print(json)
let data = json["contraventionsData"]
if data == []{
}else{
let sampleArray = data.array
let firstdict = sampleArray![0]
print(firstdict)
let question = firstdict["question"].stringValue
self.lblQue1.text = question
let sampleArray1 = data.array
let firstdict1 = sampleArray1![1]
print(firstdict1)
let question1 = firstdict1["question"].stringValue
self.lblQue2.text = question1
let sampleArray2 = data.array
let firstdict2 = sampleArray2![2]
print(firstdict2)
let question2 = firstdict2["question"].stringValue
self.lblQue3.text = question2
}
SVProgressHUD.dismiss()
case.failure(let error):
print(error.localizedDescription)
}
})
}
, поэтому проблема в том, что, когда я получаю только два дикта в ответ, я получаю сбой по 3-му индексу, так что, как обработать ошибку, скажите, пожалуйста, у меня максимум 4 вопроса в ответ
как обработать ошибку pelase кто-нибудь подскажет