[swift] Firebase와 Swift를 이용한 앱 사용자 그룹 관리하기
Firebase 설정
- Firebase 프로젝트를 생성하고, iOS 앱을 등록합니다.
- 다운로드 받은
GoogleService-Info.plist
파일을 Xcode 프로젝트에 추가합니다. - Firebase SDK를 프로젝트에 추가합니다.
- Firebase를 초기화합니다.
사용자 그룹 생성
-
사용자 그룹을 표현할 구조체를 정의합니다.
struct UserGroup { var name: String var members: [String] }
-
Firebase의 Realtime Database를 사용하여 사용자 그룹을 저장하고 가져옵니다.
import Firebase class GroupManager { let databaseRef = Database.database().reference() func createGroup(group: UserGroup) { let groupRef = databaseRef.child("groups").childByAutoId() groupRef.setValue(group.toAnyObject()) } func getGroups(completion: @escaping ([UserGroup]) -> Void) { databaseRef.child("groups").observeSingleEvent(of: .value) { (snapshot) in var groups: [UserGroup] = [] for childSnapshot in snapshot.children { let groupSnapshot = childSnapshot as! DataSnapshot let groupDict = groupSnapshot.value as! [String: Any] let group = UserGroup(name: groupDict["name"] as! String, members: groupDict["members"] as! [String]) groups.append(group) } completion(groups) } } } extension UserGroup { func toAnyObject() -> Any { return [ "name": name, "members": members ] } }
그룹 생성 및 가져오기
-
그룹을 생성하고 Firebase에 저장합니다.
let group = UserGroup(name: "개발자 그룹", members: ["user1", "user2", "user3"]) GroupManager().createGroup(group: group)
-
Firebase에서 저장된 그룹을 가져옵니다.
GroupManager().getGroups { (groups) in for group in groups { print(group.name) print(group.members) } }
Firebase와 Swift를 사용하여 사용자 그룹을 관리하는 방법에 대해 알아보았습니다. Firebase의 Realtime Database를 사용하면 앱의 그룹 관리 기능을 쉽게 구현할 수 있습니다.