I have created Model for Json response add adding like below
and JSON ServiceCall like below: here i am getting JSON response and add values to label..
var orderDB = PlacedOrderDataModel(dictionary: NSDictionary())
override func viewDidLoad() {
super.viewDidLoad()
orderDB = PlacedOrderDataModel(dictionary: NSDictionary()) // previous
serviceCall()
}
func serviceCall(){
var header = ["Content-Type":"application/json",
"X-localization": "\(langType)"]
let url = getUrl(of: .getOrderData)+orderId
APIReqeustManager.sharedInstance.getServiceCall(param: nil, vc: self, url: url, header: header) {(responseData) in
self.orderDB = PlacedOrderDataModel(dictionary: responseData.dict as NSDictionary? ?? NSDictionary())
let order = self.orderDB?.result?.order
self.lblSubtotal.text = "$\(order?.subtotal ?? "")"
self.lblTotalDiscnt.text = "$\(order?.total_discount ?? "")"
self.totalPaybaleAmount.text = "$\(order?.order_total ?? "")"
self.tableView.reloadData()
}
}
but i need to add JSON data in out of serviceCall.. means here right below.. all the values i am getting nil.. but the same values i am getting in serviceCall()
extension FinalPlaceOrderVC: SessionDataSource, SessionDelegate, SessionAppearance{
var customer: Customer? {
print("testing \(self.orderDB?.result?.order?.shipping_email ?? "")")
var newCustomer: Customer? {
let data = orderDB?.result?.order
let emailAddress = try? EmailAddress(emailAddressString: data?.shipping_email ?? "")
let phoneNumber = try? PhoneNumber(isdNumber: "956", phoneNumber: data?.shipping_phone ?? "")
let names = "test tap"
return try? Customer(emailAddress: emailAddress, phoneNumber: phoneNumber, firstName: data?.shipping_fname ?? "", middleName: nil, lastName: data?.shipping_lname ?? "")
}
return newCustomer
}
var amount: Decimal {
let order = self.orderDB?.result?.order
let amount = Decimal(string: order?.order_total) ?? 0
return amount
}
}
how to add JSON data here.. please do help