试试这个。
UserListObject
import UIKit
class UserListObject: NSObject {
var strCompanyID: String = ""
var strFirstName: String = ""
var strLastName: String = ""
var strEmail: String = ""
class func parseFromDictionary(dict: NSDictionary) -> UserListObject {
let objUser = UserListObject()
if let company_id = dict["company_id"] as? String {
objUser.strCompanyID = company_id
}
if let fname = dict["fname"] as? String {
objUser.strFirstName = fname
}
if let lname = dict["lname"] as? String {
objUser.strLastName = lname
}
if let email_id = dict["email_id"] as? String {
objUser.strEmail = email_id
}
return objUser
}
}
你的ViewController
在全球范围内定义:
var arrUsers = [UserListObject]()
所以,一旦您从API中获得数据,就可以像下面这样存储它。
APIsManager.postCall(url!, params: _parameters, success: { (response) in
//CommonHelper.hideProgress()
let JSONData = response as! NSDictionary
if(JSONData.object(forKey: "Success") as! Bool == true) {
self.arrUsers.removeAll()
let arrData = JSONData.value(forKey: "Data") as! NSArray
for i in 0..<arrData.count {
let dict = arrData.object(at: i) as! NSDictionary
let objUser = UserListObject.parseFromDictionary(dict: dict)
self.arrUsers.append(objUser)
}
}
else {
// Error
}
}) { (response) in
//Error
}
一旦你在arrUsers中获得了所有用户,你就需要进行如下过滤。
let objLoggedInUser = self.arrUsers.filter{ $0. strCompanyID == YOUR_USERDEFAULT_ID}.first // THAT WILL RETURN YOU WHOLE OBJECT WITH ALL DETAILS
现在你可以得到这样的值。
self.lblFirstName.text = objLoggedInUser. strFirstName
self.lblLastName.text = objLoggedInUser. strLastName