오프라인 저장소를 사용할 때 사용자 상호 작용이 비활성화되었습니다.

베 다스리 사이 로자 예라

내 json 응답을 NSUserdefaults 에 저장했으며 데이터가 오프라인 상태 인 경우에도 저장된 응답이 결과는 괜찮지 만 오프라인 상태에서는 UI에 대한 사용자 상호 작용이 비활성화되어 있음을 보여야합니다. 희망은 누구든지 도울 수 있습니다

네트워크 도달 가능성이 연결되어 있거나 루프에 들어 가지 않고 응답을 표시하지만 UI 상호 작용이 발생했을 때 중단 점을 제공하여 시도했습니다.

func homePageAPI()
{
       let kUserDefault = UserDefaults.standard

       if Reachability.isConnectedToNetwork() == true{
       APIModel().homeApi(withUrl: "", withParameters:"", withComplitionBlock: {(_ responseDict: Dictionary!, _ error:String) -> Void in// here im not displaying my url as it is illegal

           DispatchQueue.main.async (execute:{ () -> Void in
           if (responseDict != nil)
           {
                  kUserDefault.set(responseDict, forKey: "responseDict")
                  self.productresponseArray = (responseDict["server_productresponse"] as AnyObject) as! NSArray
                  self.productDetailsArray = ((responseDict["server_productresponse"] as AnyObject) .value(forKey: "product_dtls") as AnyObject) as! NSArray
                  self.vehicleStatusStringArray = ((responseDict["server_productresponse"] as AnyObject) .value(forKey: "veh_status") as AnyObject) as! NSArray
           }
           })
        })
      }
      else{
            let offlineResponseDict:NSDictionary = kUserDefault.value(forKey: "responseDict") as! NSDictionary
            print(offlineResponseDict as Any)
            self.productresponseArray = (offlineResponseDict["server_productresponse"] as AnyObject) as! NSArray
            self.productDetailsArray = ((offlineResponseDict["server_productresponse"] as AnyObject) .value(forKey: "product_dtls") as AnyObject) as! NSArray
            self.vehicleStatusStringArray = ((offlineResponseDict["server_productresponse"] as AnyObject) .value(forKey: "veh_status") as AnyObject) as! NSArray
      }
      self.homeTableView.reloadData()
 }
네엠

이 시도:

func homePageAPI() {
    let kUserDefault = UserDefaults.standard

    DispatchQueue.global(qos: .background).async {
        // do something that needs to be run on background thread
        if Reachability.isConnectedToNetwork() {
            APIModel().homeApi(withUrl: "", withParameters:"", withComplitionBlock: {
                (_ responseDict: Dictionary!, _ error:String) -> Void in// here im not displaying my url as it is illegal
                if (responseDict != nil)
                {
                    kUserDefault.set(responseDict, forKey: "responseDict")
                    self.productresponseArray = (responseDict["server_productresponse"] as AnyObject) as! NSArray
                    self.productDetailsArray = ((responseDict["server_productresponse"] as AnyObject) .value(forKey: "product_dtls") as AnyObject) as! NSArray
                    self.vehicleStatusStringArray = ((responseDict["server_productresponse"] as AnyObject) .value(forKey: "veh_status") as AnyObject) as! NSArray
                }

            })

        } else{
            let offlineResponseDict:NSDictionary = kUserDefault.value(forKey: "responseDict") as! NSDictionary
            print(offlineResponseDict as Any)
            self.productresponseArray = (offlineResponseDict["server_productresponse"] as AnyObject) as! NSArray
            self.productDetailsArray = ((offlineResponseDict["server_productresponse"] as AnyObject) .value(forKey: "product_dtls") as AnyObject) as! NSArray
            self.vehicleStatusStringArray = ((offlineResponseDict["server_productresponse"] as AnyObject) .value(forKey: "veh_status") as AnyObject) as! NSArray
        }
        // update UI on main thread
        DispatchQueue.main.async {
            self.homeTableView.reloadData()
        }

    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 지정 콤보 상자를 생성 / 편집 할 때 키보드의 깜박임 / 캐럿이 비활성화되었습니다.

분류에서Dev

사용자 상호 작용이 비활성화 된 UITableViewCell 및 UITextField가 didSelectRow를 호출하지 않습니다.

분류에서Dev

read -s를 사용할 때 예상되는 에코 암호 비활성화

분류에서Dev

암호 인증이 비활성화 된 상태에서 scp를 사용하여 파일을 원격 서버에 복사 할 때 암호 프롬프트

분류에서Dev

Rails 자산 파이프 라인과 함께 타사 비디오 플레이어를 사용할 때 404s

분류에서Dev

다른 스크립트를 실행할 때 사용자 상호 작용을 시뮬레이션하는 방법

분류에서Dev

클라이언트가 오프라인 일 때 WCF 이중 서비스를 사용하여 클라이언트를 호출 할 수 있습니까?

분류에서Dev

AppFabric 세션 상태 공급자-세션을 저장하는 데 사용되는 캐시에 대해 LRU 제거가 비활성화되었습니다.

분류에서Dev

Cloud Firestore를 사용할 때 React Native 앱에 오프라인 지속성을 활성화해야합니까?

분류에서Dev

.dev 도메인 확장자를 사용할 때 가상 호스트가 예상대로 작동하지 않습니다.

분류에서Dev

인쇄 할 때 항상 사용자 이름과 암호를 묻는 메시지가 표시됩니다.

분류에서Dev

sudo를 사용할 때 다른 사용자의 암호 요청

분류에서Dev

Outlook Add-In의 작동이 중지되었습니다. Outlook 웹 인터페이스가 브라우저에 의해 차단 된 대화 상자를 사용하여 도메인을 확인하려고하기 때문입니다.

분류에서Dev

Puppeteer를 사용할 때 대화 상자 확인 또는 닫기

분류에서Dev

내부 서버에서 작동하고 다중 사용자 인 오픈 소스 사용자 이름-암호 저장 소프트웨어

분류에서Dev

테이블 매개 변수를 사용하여 저장 프로 시저를 작성할 때 "스칼라 변수를 선언해야합니다"오류

분류에서Dev

테이블 매개 변수를 사용하여 저장 프로 시저를 작성할 때 "스칼라 변수를 선언해야합니다"오류

분류에서Dev

.bashrc를 사용할 때 색상이 사라집니다.

분류에서Dev

시작 반복자를 설정할 때 비 정적 데이터 멤버 사용이 잘못되었습니다.

분류에서Dev

올바른 사용자와 비밀번호를 사용할 때 내 PHP 로그인 시스템이 리디렉션되지 않습니다.

분류에서Dev

Windows에서 "msconfig"유틸리티를 사용하여 시작시 서비스를 비활성화 할 때 영구적 인 손상을 입힐 수 있습니까?

분류에서Dev

사용자가 선택 상자에서 값을 선택할 때 자동 완성을 활성화하고 사용자가 선택을 취소하면 비활성화하고 싶습니다.

분류에서Dev

git push는 공유 개인 저장소로 푸시 될 때 사용자 이름과 비밀번호를 요청합니다.

분류에서Dev

github 사이트에서 로컬 저장소를 사용할 때 매우 이상한 동작

분류에서Dev

Vagrant 프로비저닝에 Ansible을 사용할 때 액세스 상자 이름

분류에서Dev

컴퓨터 이름을 사용하는 명령 프롬프트에서 ping에 "대상 호스트에 연결할 수 없음"이라고 표시되지만 Ip 주소를 사용하여 ping 할 때 제대로 작동합니다.

분류에서Dev

feature-flag / feature-toggle에 의해 엔드 포인트가 비활성화되었을 때 어떤 HTTP 상태 코드를 사용합니까?

분류에서Dev

로그인 한 사용자의 레코드를 저장할 때 사용자 ID가 NULL입니다.

분류에서Dev

사용자 상태가 오프라인 일 때 PHP

Related 관련 기사

  1. 1

    사용자 지정 콤보 상자를 생성 / 편집 할 때 키보드의 깜박임 / 캐럿이 비활성화되었습니다.

  2. 2

    사용자 상호 작용이 비활성화 된 UITableViewCell 및 UITextField가 didSelectRow를 호출하지 않습니다.

  3. 3

    read -s를 사용할 때 예상되는 에코 암호 비활성화

  4. 4

    암호 인증이 비활성화 된 상태에서 scp를 사용하여 파일을 원격 서버에 복사 할 때 암호 프롬프트

  5. 5

    Rails 자산 파이프 라인과 함께 타사 비디오 플레이어를 사용할 때 404s

  6. 6

    다른 스크립트를 실행할 때 사용자 상호 작용을 시뮬레이션하는 방법

  7. 7

    클라이언트가 오프라인 일 때 WCF 이중 서비스를 사용하여 클라이언트를 호출 할 수 있습니까?

  8. 8

    AppFabric 세션 상태 공급자-세션을 저장하는 데 사용되는 캐시에 대해 LRU 제거가 비활성화되었습니다.

  9. 9

    Cloud Firestore를 사용할 때 React Native 앱에 오프라인 지속성을 활성화해야합니까?

  10. 10

    .dev 도메인 확장자를 사용할 때 가상 호스트가 예상대로 작동하지 않습니다.

  11. 11

    인쇄 할 때 항상 사용자 이름과 암호를 묻는 메시지가 표시됩니다.

  12. 12

    sudo를 사용할 때 다른 사용자의 암호 요청

  13. 13

    Outlook Add-In의 작동이 중지되었습니다. Outlook 웹 인터페이스가 브라우저에 의해 차단 된 대화 상자를 사용하여 도메인을 확인하려고하기 때문입니다.

  14. 14

    Puppeteer를 사용할 때 대화 상자 확인 또는 닫기

  15. 15

    내부 서버에서 작동하고 다중 사용자 인 오픈 소스 사용자 이름-암호 저장 소프트웨어

  16. 16

    테이블 매개 변수를 사용하여 저장 프로 시저를 작성할 때 "스칼라 변수를 선언해야합니다"오류

  17. 17

    테이블 매개 변수를 사용하여 저장 프로 시저를 작성할 때 "스칼라 변수를 선언해야합니다"오류

  18. 18

    .bashrc를 사용할 때 색상이 사라집니다.

  19. 19

    시작 반복자를 설정할 때 비 정적 데이터 멤버 사용이 잘못되었습니다.

  20. 20

    올바른 사용자와 비밀번호를 사용할 때 내 PHP 로그인 시스템이 리디렉션되지 않습니다.

  21. 21

    Windows에서 "msconfig"유틸리티를 사용하여 시작시 서비스를 비활성화 할 때 영구적 인 손상을 입힐 수 있습니까?

  22. 22

    사용자가 선택 상자에서 값을 선택할 때 자동 완성을 활성화하고 사용자가 선택을 취소하면 비활성화하고 싶습니다.

  23. 23

    git push는 공유 개인 저장소로 푸시 될 때 사용자 이름과 비밀번호를 요청합니다.

  24. 24

    github 사이트에서 로컬 저장소를 사용할 때 매우 이상한 동작

  25. 25

    Vagrant 프로비저닝에 Ansible을 사용할 때 액세스 상자 이름

  26. 26

    컴퓨터 이름을 사용하는 명령 프롬프트에서 ping에 "대상 호스트에 연결할 수 없음"이라고 표시되지만 Ip 주소를 사용하여 ping 할 때 제대로 작동합니다.

  27. 27

    feature-flag / feature-toggle에 의해 엔드 포인트가 비활성화되었을 때 어떤 HTTP 상태 코드를 사용합니까?

  28. 28

    로그인 한 사용자의 레코드를 저장할 때 사용자 ID가 NULL입니다.

  29. 29

    사용자 상태가 오프라인 일 때 PHP

뜨겁다태그

보관