메뉴 건너뛰기

정보자료게시판

로그인 과정을 비동기화로 했더니 발생하는 문제

by Summa posted Sep 11, 2024
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

빈화면의 뷰가 먼저 나온다.

 

코파일럿에게

 

func loginInfo(parameters: [String: Any], completion: @escaping () -> Void) { // func createPost(parameters: [String: Any]) { guard let url = URL(string: "\(prefixURL)/login") else { print("Not Found URL") return } let data = try! JSONSerialization.data(withJSONObject: parameters) var request = URLRequest(url: url) request.httpMethod = "POST" request.httpBody = data request.setValue("application/json", forHTTPHeaderField: "Content-Type") URLSession.shared.dataTask(with: request) { (data, res, error) in if(error != nil) { print("error", error?.localizedDescription ?? "") return } do { if let data = data { let result = try JSONDecoder().decode(apikeyModel.self,from: data) DispatchQueue.main.async { let value = result.apikey print(result) print(value) UserDefaults.standard.set(value, forKey: "apikey") } } else { print("No Data") } completion() } catch let JsonError { print("fetch json error:", JsonError.localizedDescription) } }.resume() }

 

동기 버전으로 바꿔줘

 

라고 요청했다.

 

코파일럿이

 

func loginInfoSync(parameters: [String: Any]) -> Bool {
    guard let url = URL(string: "\(prefixURL)/login") else {
        print("Not Found URL")
        return false
    }
    
    let data = try! JSONSerialization.data(withJSONObject: parameters)
    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.httpBody = data
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    
    let semaphore = DispatchSemaphore(value: 0)
    var success = false
    
    URLSession.shared.dataTask(with: request) { (data, res, error) in
        if let error = error {
            print("error", error.localizedDescription)
            semaphore.signal()
            return
        }
        
        do {
            if let data = data {
                let result = try JSONDecoder().decode(apikeyModel.self, from: data)
                let value = result.apikey
                print(result)
                print(value)
                UserDefaults.standard.set(value, forKey: "apikey")
                success = true
            } else {
                print("No Data")
            }
        } catch let jsonError {
            print("fetch json error:", jsonError.localizedDescription)
        }
        semaphore.signal()
    }.resume()
    
    semaphore.wait()
    return success
}
 

요렇게 하라고 한다.

 

했더니 된다. 헐~~~

 

 

 


  1. No Image notice by Summa 2025/04/02 by Summa

    꾸준히 하는 취미를 가져보기로 한다

  2. 2025년 연간달력

  3. No Image 23Nov
    by Summa
    2024/11/23 by Summa

    2025년 대한민국 24절기 구글 캘린더 일정 링크

  4. 역방향 프록시에서의 보안 인증서 feat. 갑자기 뜬금없는 webdav 오류

  5. No Image 21Sep
    by Summa
    2024/09/21 by Summa

    부팅 중 컴퓨터 로고에서 넘어가지 않는 현상

  6. No Image 20Sep
    by Summa
    2024/09/20 by Summa

    시놀로지 최대 접속 오류로 ip 차단

  7. No Image 19Sep
    by Summa
    2024/09/19 by Summa

    hp 파빌리온 데스크탑 tg01 오류

  8. No Image 11Sep
    by Summa
    2024/09/11 by Summa

    스크린타임 설정하기

  9. No Image 11Sep
    by Summa
    2024/09/11 by Summa

    로그인 과정을 비동기화로 했더니 발생하는 문제

  10. No Image 22Aug
    by Summa
    2024/08/22 by Summa

    시놀로지 도커 설치 metabase 불안정

  11. No Image 22Aug
    by Summa
    2024/08/22 by Summa

    시놀로지 Let's Encrypt 인증서 자동갱신하기 feat. 클라우드플레어

  12. No Image 18Aug
    by Summa
    2024/08/18 by Summa

    시놀로지 도커에서 돌리는 node js에서 모듈 설치하기

  13. No Image 25Jul
    by Summa
    2024/07/25 by Summa

    워드프레스 카테고리별 태그 관리

  14. No Image 21Jul
    by Summa
    2024/07/21 by Summa

    설문 응답지 구글폼 설문에서 Smore.im으로 업글

  15. [IT새소식] 2024-07-12

  16. 사이트 접속 오류 DB 느려짐

  17. No Image 09Jun
    by Summa
    2024/06/09 by Summa

    사진과 영상을 보관하는 최고의 방법

  18. No Image 03Jun
    by Summa
    2024/06/03 by Summa

    버추얼박스에 헤놀로지 설치하기

  19. 아무도 말해주지 않는 우리가 질병에 걸리는 충격적인 이유

  20. No Image 28May
    by Summa
    2024/05/28 by Summa

    미디어위키 설치하기

  21. 전기자전거 전국 일주 계획

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 47 Next
/ 47
위로