Либо сделать так как советует
doublench21 :
private _data: [[String: String]]? {
didSet {
/* Тут я получил данные и что-то с ними уже делаю. Этот код выполнится так скоро,
как запрос запишет ответ в данную переменную */
}
}
Либо, переписать функцию чтоб был completion блок:
func request(uri: String, params: Dictionary<String, Any>, completion: ( Array<Dictionary<String, String>>)->()) {
Alamofire.request(self.url + uri, method: .get, parameters: params as! Parameters).responseJSON { response in
if let json: [AnyObject] = response.result.value as? [AnyObject] {
var items = [Dictionary<String, String>]()
let data = JSON(json)
for item in data {
items.append(["id": item.1["id"].stringValue, "title": item.1["title"].stringValue])
}
completion(items)
}
}
}
, в последнем случае, применение функции будет следующим:
classElement.request(uri: myPath, params: requestParams) { items in
print(items)
}