我有一個可Mappable類型的模型類,其中我通過firstViewController中的api傳遞數據。現在我想訪問secondViewController中的模型類數據。所以我怎麼可以在secondViewController中使用數據。 這裏是我的代碼:如何在swift中獲取另一個ViewController中的可映射模型類數據3
import ObjectMapper
class UserProfileResponse: Mappable {
var data:UserProfileData?
var success: Bool?
var error: String?
required init?(map: Map){
}
func mapping(map: Map) {
data <- map["data"]
success <- map["success"]
error <- map["error"]
}
}
class UserProfileData: Mappable {
var address: String?
var joinDate: String?
var phone: String?
var policyName: String?
var imageUrl: String?
var name: String?
var policyNo: String?
var title: String?
required init(map: Map){
}
func mapping(map: Map) {
address <- map["address"]
joinDate <- map["joinDate"]
phone <- map["phone"]
policyName <- map["policyName"]
imageUrl <- map["imageUrl"]
name <- map["name"]
policyNo <- map["policyNo"]
title <- map["title"]
}
}
我FirstViewController從那裏我發送的數據,這一模型類
func getUserProfileDataFromApi(){
//Calling the method from Api class
userProfileApi{completion in self.getProfileData(result: completion)}
}
func userProfileApi(completion:@escaping (_ result:UserProfileData)->()) {
let defaultObject = UserDefaults.standard
let headerToken = defaultObject.object(forKey: KHeaderToken) as! String
let headers = ["Authorization": headerToken]
Alamofire.request(KProfileUrl, method: .post, encoding: JSONEncoding.default, headers: headers)
.validate()
.responseObject{ (response: DataResponse<UserProfileResponse>) in
switch response.result{
case .success:
let value = response.result.value
completion((value?.data)!)
case .failure(let error):
print(error.localizedDescription)
}
}
}
func getProfileData(result: UserProfileData){
// Here i get all data in firstViewController
}
Now how i can get the UserProfileData in secondViewController.
你可以參考這個https://stackoverflow.com/documentation/ios/434/passing-data-between-view-controllers#t=201702200732185412699 – ASP
@ASP謝謝,我知道,但我不是從第一到第二導航或相反亦然。其實secndVc視圖從菜單中選擇選項後打開。所以它不在導航視圖控制器堆棧中。所以我需要的是如何創建UserProfileData的對象並使用它。 – user3655325