Если вы хотите получить доступ к результатам за пределами Alamofire, а затем следуйте нижеприведенному коду.
override func viewDidLoad()
{
super.viewDidLoad()
let retur = Json().login(userName: param1, password: param2) { (json) in
print(json)
let jsonDic = JSON(json)
for item in jsonDic["result"].arrayValue
{
let token = item["ubus_rpc_session"].stringValue
self.myFunction(str: token)
}
print(jsonDic["result"][1]["ubus_rpc_session"].stringValue)
}
}
func myFunction(str: String)
{
//Here it will print token value.
print("Token value ====%@",str)
}
Решение 2:
Здесь я буду использовать NSUserDefault, чтобы узнать больше об этом вы можете найти об этом, есть несколько примеров доступны на Google.
Теперь мы будем использовать NSUserDefault.
//Use below code in alamofire block to save token value.
let defaults = UserDefaults.standard
defaults.set(token, forKey: "tokenValue")
//Use below code to print anywhere.
let defaults = UserDefaults.standard
if let myToken = defaults.value(forKey: "tokenValue") as? String
{
print("defaults savedToken: \(myToken)")
}
Надеюсь, что это сработает для вас.
Для получения более подробной информации Вы можете обратиться этим ответ https://stackoverflow.com/a/41899777/5886755
Вы могли бы вы класс свойство (Объявить Var фишку как класс собственность), чтобы сохранить это значение в блоке завершения и использовать другое место, и вы могли бы написать делегат. –
Как я понимаю из вашего кода вы хотите сохранить токен и получить доступ к нему повсюду в приложении? –
Да, вы правы –