Ios 从另一个视图控制器调用Alamofire函数以发送到值
我正在尝试从另一个视图控制器调用具有Alamofire请求的函数。我使用的代码行与在原始VC上运行的代码行相同,但是当从第二个VC引用以将返回的值保存到原始VC时,相同的代码似乎无法正常运行(返回空数组错误)。我不太清楚我做错了什么。非常感谢你的帮助 我的代码看起来像这样 FirstViewController:Ios 从另一个视图控制器调用Alamofire函数以发送到值,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试从另一个视图控制器调用具有Alamofire请求的函数。我使用的代码行与在原始VC上运行的代码行相同,但是当从第二个VC引用以将返回的值保存到原始VC时,相同的代码似乎无法正常运行(返回空数组错误)。我不太清楚我做错了什么。非常感谢你的帮助 我的代码看起来像这样 FirstViewController: let secondVC = secondViewController() var array = [String]() secondVC.fetchData() let fir
let secondVC = secondViewController()
var array = [String]()
secondVC.fetchData()
let firstVC = firstViewController()
func fetchData()
...
Alamofire.request(path, method:.post, parameters: parameters, encoding: JSONEncoding.default, headers:headers)
.responseJSON { response in
if let result = response.result.value {
let json = result as! Array<Any>
print(json)
firstVC.array = []
DispatchQueue.main.async(execute: { () -> Void in
for (index, element) in json.enumerated() {
let value = element as? NSDictionary
let someValue = value!["Address"] as! String
firstVC.array.append(someValue)
}
....
})
}
第二视图控制器:
let secondVC = secondViewController()
var array = [String]()
secondVC.fetchData()
let firstVC = firstViewController()
func fetchData()
...
Alamofire.request(path, method:.post, parameters: parameters, encoding: JSONEncoding.default, headers:headers)
.responseJSON { response in
if let result = response.result.value {
let json = result as! Array<Any>
print(json)
firstVC.array = []
DispatchQueue.main.async(execute: { () -> Void in
for (index, element) in json.enumerated() {
let value = element as? NSDictionary
let someValue = value!["Address"] as! String
firstVC.array.append(someValue)
}
....
})
}
设firstVC=firstViewController()
func fetchData()
...
请求(路径,方法:.post,参数:参数,编码:JSONEncoding.default,头:头)
.responseJSON{中的响应
如果let result=response.result.value{
让json=结果为!数组
打印(json)
firstVC.array=[]
DispatchQueue.main.async(在中执行:{()->Void
对于json.enumerated()中的(索引,元素){
设value=元素为?NSDictionary
让someValue=value![“地址”]作为!字符串
firstVC.array.append(someValue)
}
....
})
}