투케이2K

422. (ios/swift5) [Firebase RealDatabase] 파이어베이스 데이터베이스 에 Set 데이터 Read 읽기 수행 본문

IOS

422. (ios/swift5) [Firebase RealDatabase] 파이어베이스 데이터베이스 에 Set 데이터 Read 읽기 수행

투케이2K 2024. 3. 20. 20:44

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 
 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [SEARCH FAST] : [Observable] : [Read] : [기본] 데이터베이스 SET 읽기
    // -----------------------------------------------------------------------------------------
    func observableSetReadDatabase(table:String, completion: @escaping (String)->()) {
        
        /*
        // -----------------------------------------
        [observableSetReadDatabase 메소드 설명]
        // -----------------------------------------
        1. [기본] 데이터베이스 SET 읽기
        // -----------------------------------------
        2. 호출 방법 :
         
         DispatchQueue.main.async { // [비동기 요청]
             
             // [파이어베이스 테이블 명칭]
             let tableName = "testUser"

             // [메소드 호출]
             C_FirebaseRealDatabase().observableSetReadDatabase(table:tableName){(result) in
                 
                 S_Log._F_(description: "[기본] 데이터베이스 SET 읽기", data: ["\(result)"])
                 
             }
             
         }
         
        // -----------------------------------------
        */
        
        // [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
        DispatchQueue.main.async {
            S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Read] : [기본] 데이터베이스 SET 읽기 수행", data: [
                "table :: \(table)"
            ])
            
            
            // [리턴 변수 선언]
            var returnData = ""
            
            
            // [널 체크]
            if C_Util().stringNotNull(str: table) == true {
                
                // [파이어베이스 인스턴스 취득]
                let ref = Database.database().reference()
                
                // [파이어베이스 set 쓰기]
                ref.child("\(table)").getData(completion: { (error, ref) in
                    
                    if let err = error {
                        S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Read] : [기본] 데이터베이스 SET 읽기 에러", data: [
                            "ERROR :: \(err.localizedDescription)"
                        ])
                        
                        // [콜백 반환]
                        completion(returnData)
                        return
                    }
                    
                    // [리턴 결과 반환]
                    returnData = ref?.value as! String
                    
                    S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Read] : [기본] 데이터베이스 SET 읽기 성공", data: nil)
                    
                    // [콜백 반환]
                    completion(returnData)
                    
                })
            }
            else {
                S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Read] : [기본] 데이터베이스 SET 읽기 에러", data: [
                    "ERROR :: Input Data Is Null"
                ])
                
                // [콜백 반환]
                completion(returnData)
            }
            
        }
    }
 

[결과 출력]


반응형
Comments