Notice
Recent Posts
Recent Comments
Link
투케이2K
421. (ios/swift5) [Firebase RealDatabase] 파이어베이스 데이터베이스 에 Set 데이터 덮어 쓰기 수행 본문
IOS
421. (ios/swift5) [Firebase RealDatabase] 파이어베이스 데이터베이스 에 Set 데이터 덮어 쓰기 수행
투케이2K 2024. 3. 20. 20:29[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [SEARCH FAST] : [Observable] : [Write] : [기본] 데이터베이스 SET 쓰기
// -----------------------------------------------------------------------------------------
func observableSetWriteDatabase(table:String, json:String, completion: @escaping (Bool)->()) {
/*
// -----------------------------------------
[observableSetWriteDatabase 메소드 설명]
// -----------------------------------------
1. [기본] 데이터베이스 SET 쓰기
// -----------------------------------------
2. 호출 방법 :
DispatchQueue.main.async { // [비동기 요청]
// [파이어베이스 테이블 명칭]
let tableName = "testUser"
// [JSON 생성]
var dic : Dictionary<String, Any> = ["name":"투케이", "age":29]
var json = C_Util().dic_To_JsonObject_String(_dicData: dic)
// [메소드 호출]
C_FirebaseRealDatabase().observableSetWriteDatabase(table:tableName, json:json){(result) in
S_Log._F_(description: "[기본] 데이터베이스 SET 쓰기", data: ["\(result)"])
}
}
// -----------------------------------------
*/
// [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
DispatchQueue.main.async {
S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Write] : [기본] 데이터베이스 SET 쓰기 수행", data: [
"table :: \(table)",
"json :: \(json)"
])
// [리턴 변수 선언]
var returnData = false
// [널 체크]
if C_Util().stringNotNull(str: table) == true && C_Util().stringNotNull(str: json) == true {
// [파이어베이스 인스턴스 취득]
let ref = Database.database().reference()
// [파이어베이스 set 쓰기]
ref.child("\(table)").setValue("\(json)", withCompletionBlock: { (error, ref) in
if let err = error {
S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Write] : [기본] 데이터베이스 SET 쓰기 에러", data: [
"ERROR :: \(err.localizedDescription)"
])
// [콜백 반환]
completion(returnData)
return
}
// [리턴 결과 반환]
returnData = true
S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Write] : [기본] 데이터베이스 SET 쓰기 성공", data: nil)
// [콜백 반환]
completion(returnData)
})
}
else {
S_Log._F_(description: C_FirebaseRealDatabase.ACTIVITY_NAME + " : [Firebase] : [Write] : [기본] 데이터베이스 SET 쓰기 에러", data: [
"ERROR :: Input Data Is Null"
])
// [콜백 반환]
completion(returnData)
}
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments