Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从另一个视图控制器调用Alamofire函数以发送到值_Ios_Swift_Xcode - Fatal编程技术网

Ios 从另一个视图控制器调用Alamofire函数以发送到值

Ios 从另一个视图控制器调用Alamofire函数以发送到值,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试从另一个视图控制器调用具有Alamofire请求的函数。我使用的代码行与在原始VC上运行的代码行相同,但是当从第二个VC引用以将返回的值保存到原始VC时,相同的代码似乎无法正常运行(返回空数组错误)。我不太清楚我做错了什么。非常感谢你的帮助 我的代码看起来像这样 FirstViewController: let secondVC = secondViewController() var array = [String]() secondVC.fetchData() let fir

我正在尝试从另一个视图控制器调用具有Alamofire请求的函数。我使用的代码行与在原始VC上运行的代码行相同,但是当从第二个VC引用以将返回的值保存到原始VC时,相同的代码似乎无法正常运行(返回空数组错误)。我不太清楚我做错了什么。非常感谢你的帮助

我的代码看起来像这样

FirstViewController:

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)
}
....
})
}