Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.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请求无法正常工作 我在viewdidload中使用了计时器和选择器功能_Ios_Swift_Alamofire - Fatal编程技术网

Ios 几秒钟后刷新Alamofire请求无法正常工作 我在viewdidload中使用了计时器和选择器功能

Ios 几秒钟后刷新Alamofire请求无法正常工作 我在viewdidload中使用了计时器和选择器功能,ios,swift,alamofire,Ios,Swift,Alamofire,例如 getRequest()用于使用alamofire进行json解析,并使用集合视图填充数据 计时器和函数可以正常运行,但需要连续地将json数据追加到数组中。在视图集合上,视图数据连续出现 我只想在几秒钟后刷新Alamofire请求,但不想刷新整个函数,因为json数据会被推送到数组和字典中 我的getRequest()code: func getRequest() { let getUserID :UserDefaults = UserDefaults.standard

例如

  • getRequest()
    用于使用alamofire进行json解析,并使用集合视图填充数据

  • 计时器和函数可以正常运行,但需要连续地将json数据追加到数组中。在视图集合上,视图数据连续出现

  • 我只想在几秒钟后刷新Alamofire请求,但不想刷新整个函数,因为json数据会被推送到数组和字典中

  • 我的
    getRequest()
    code:

    func getRequest() {
    
         let getUserID :UserDefaults = UserDefaults.standard
    
         let parameters: Parameters = [
    
            "user_id" : getUserID.value(forKey: "user_id")!
    
        ]
    
        Alamofire.request(URL_String, method: .post, parameters: parameters).responseJSON{
    
    
            (response) in
    
    
            print(" url :\(response.request)")
    
            guard response.result.isSuccess  else {
    
                print("Block 1 ")
    
    
                print(" response :\(response)")
    
                print("Error with response: \(String(describing: response.result.error))")
                return
            }
            guard let dict = response.result.value as? Dictionary <String,AnyObject>
    
    
                else {
    
                print(" response :\(response)")
    
                print("Error with dictionary: \(String(describing: response.result.error))")
                return
            }
    
            guard let dictData = dict["message"] as? [Dictionary <String,AnyObject>] else {
    
                print("Error with dictionary data: \(String(describing: response.result.error))")
    
                return
            }
    
            for data in dictData{
    
                self.lawNameArray.append(data["title"] as! String)
                self.lawImageArray.append(data["law_images"] as! String)
                self.dataArray.append(data["title"] as! String)
                print("lawNameArray..............\(self.lawNameArray)")
                print("lawImageArray..............\(self.lawImageArray)")
    
                self.lawIdArray.append(data["law_id"] as! String)
                self.lawStatusArray.append(data["status"] as! String)
    
                print("law Id Array :\(self.lawIdArray)")
    
                print("Data array :\(self.dataArray)")
    
            }
            self.myActivityIndicator.stopAnimating()
            self.myActivityIndicator.hidesWhenStopped = true
            self.collectionView.reloadData()
            print(" dict data\(dictData)")
    
        }
    
    
    }
    
    func getRequest(){
    让getUserID:UserDefaults=UserDefaults.standard
    let参数:参数=[
    “user\u id”:getUserID.value(forKey:“user\u id”)!
    ]
    请求(URL_字符串,方法:.post,参数:parameters).responseJSON{
    (答复)在
    打印(“url:\(response.request)”)
    guard response.result.isSuccess else{
    打印(“块1”)
    打印(“响应:\(响应)”)
    打印(“响应错误:\(字符串(描述:response.result.Error)))
    返回
    }
    guard let dict=response.result.value as?Dictionary
    否则{
    打印(“响应:\(响应)”)
    打印(“字典错误:\(字符串(描述:response.result.Error)))
    返回
    }
    guard let dictData=dict[“message”]作为?[Dictionary]其他{
    打印(“字典数据错误:\(字符串(描述:response.result.Error)))
    返回
    }
    对于dictData中的数据{
    self.lawNameArray.append(数据[“title”]作为!字符串)
    self.lawmagearray.append(数据[“law_images”]as!字符串)
    self.dataArray.append(数据[“title”]作为!字符串)
    打印(“lawnamerarray………\(self.lawnamerarray)”)
    打印(“lawImageArray………\(self.lawImageArray)”)
    self.lawidaray.append(数据[“law_id”]as!字符串)
    self.lawStatusArray.append(数据[“状态”]为!字符串)
    打印(“法律Id数组:\(self.lawidaray)”)
    打印(“数据数组:\(self.dataArray)”)
    }
    self.myActivityIndicator.stopAnimating()
    self.myActivityIndicator.hidesWhenStopped=true
    self.collectionView.reloadData()
    打印(“dict数据\(dictData)”)
    }
    }
    
    我想您需要在添加新数据之前清空数组,因此您可以在for循环之前添加以下代码:

    self.lawNameArray.removeAll()
    self.lawImageArray.removeAll()
    self.dataArray.removeAll()
    self.lawIdArray.removeAll()
    self.lawStatusArray.removeAll()
    

    谢谢@Moayad Al-Kouz。这个解决方案解决了我的问题。太好了!!很抱歉,我无法投票支持bcoz声誉低于15@Moayad Al-Kouz
    self.lawNameArray.removeAll()
    self.lawImageArray.removeAll()
    self.dataArray.removeAll()
    self.lawIdArray.removeAll()
    self.lawStatusArray.removeAll()