본문 바로가기

분류 전체보기164

250510 TIL | 채팅 기능 구현하며 내용 공부함 하이염 오늘은 테이블뷰 구성하는 메커니즘에 대한 3차..? 복습을 했어요 아이고 헷갈리라 코드 작성하고 주석으로 정리함 레츠고! //// ChatViewController.swift// Flash Chat iOS13//// Created by Angela Yu on 21/10/2019.// Copyright © 2019 Angela Yu. All rights reserved.//import FirebaseFirestoreimport FirebaseCoreimport FirebaseAuthimport UIKitclass ChatViewController: UIViewController { @IBOutlet weak var tableView: UITableView! @IBOutlet weak.. 2025. 5. 10.
[Swift] 테이블뷰 메커니즘 구성하는 법 안녕하세요 오늘은 테이블뷰를 구성하는 방법에 대해 알아보아요 레쯔고! 테이블뷰는 많은 데이터를 효율적으로 보여주기 위한 리스트 UI 컴포넌트임!화면에 보이는 셀만 메모리에 올리고, 스크롤할 때 재사용하면서 새로운 데이터를 표시함전체 메커니즘UITableView: 뷰 컨트롤러 안에 들어가는 리스트 뷰임ㅇㅇ 테이블 뷰 자체는 데이터가 없음 → 데이터는 따로 전달해줘야 함DataSource 프로토콜:테이블뷰가 몇 개의 셀이 필요한지, 각 셀에 어떤 데이터를 넣을지 묻는 인터페이스꼭 구현해야 하는 2가지 메서드 있음:numberOfRowsInSection: 몇 개의 셀이 필요한지 반환cellForRowAt: 각 셀에 어떤 내용을 표시할지 반환UITableViewCell: 셀 하나하나를 의미! 셀은 dequeue.. 2025. 5. 10.
250507 TIL | FireStore 사용법 익히기, 딕셔너리 활용 안녕하세요 ~오늘은 어제 공부한 코드를 안보고 혼자서 쳐봤어요! Flash Chat 앱 처음부터 끝까지 논스톱으로 작성해봄!-> 총 3시간 정도 걸림 ㅎ 다만,, 복습하기로 체크해 놓은 부분은 약간의 컨닝이 있었기 때문에,,,다시 복습하는걸로!!!import FirebaseFirestoreimport FirebaseCoreimport FirebaseAuthimport UIKitclass ChatViewController: UIViewController { @IBOutlet weak var tableView: UITableView! @IBOutlet weak var messageTextfield: UITextField! private var messages: [Message] = [] l.. 2025. 5. 7.
250506 TIL | Firebase Firestore 데이터 가져오기, 연휴 끝🙀 안야세요오늘은 채팅 앱에서 메세지 데이터들을 가져오는 과정에 대한 공부를 했어요// Firestore에서 메시지를 불러오는 메서드private func loadMessages () { // Firestore의 특정 컬렉션에서 모든 문서를 가져옴 self.db.collection(K.FStore.collectionName).getDocuments { querySnapShot, error in // 문서 스냅샷이 nil이 아닐 경우 실행 ⭐️documents는 실제로 가져온 문서들의 배열⭐️ if let snapShotDocument = querySnapShot?.documents { // 문서 배열을 순회하며 각 문.. 2025. 5. 6.
[swift] 동기와 비동기 동기(Synchronous)와 비동기(Asynchronous)는 작업 실행 순서와 처리 방식에 관련된 개념임Swift에서는 특히 async/await, DispatchQueue, completion handler 같은 방식으로 비동기 처리를 많이 사용함✅ 동기(Synchronous)작업이 순차적으로 실행됨앞 작업이 끝나야 다음 작업이 실행됨코드 흐름이 직관적이지만, 시간 오래 걸리는 작업이 있으면 앱이 멈춰 보일 수 있음func fetchData() -> String { // 서버에서 데이터 가져온다고 가정 return "데이터"}let result = fetchData() // 완료될 때까지 기다림print(result)✅ 비동기(Asynchronous)작업이 백그라운드에서 실행되고, 바로.. 2025. 4. 29.
[swift] for - in과 forEach문에 대해 알아보자! 안냐세요 오늘은 for -in 문법과 forEach 문법에 대해 알아보고 차이점을 살펴볼게요! 고고 for-in과 forEach는 Swift에서 컬렉션을 순회(iterate)할 때 사용하는 대표적인 문법임!각각 장단점이 있음🔁 for-in 문법let numbers = [1, 2, 3, 4, 5]for number in numbers { print(number)}명령형 스타일임continue, break, return 사용 가능await와 함께 비동기(for-await-in) 처리 가능가독성이 좋고 범용적임 🔄 forEach 메서드let numbers = [1, 2, 3, 4, 5]numbers.forEach { number in print(number)}함수형 스타일임 (클로저를 파라미터로.. 2025. 4. 29.
[swift] 화면 전환 | push, present 화면 전환 방법push랑 present는 다른 방식으로 화면을 전환하는 두 가지 방식임사용하는 상황, 애니메이션, 뒷화면 유지 방식이 다름✅ push 방식 (navigationController 기반)스택 구조로 화면 쌓음 (ex: A → B → C → back 하면 C → B → A)내비게이션 바가 기본 제공됨뒤로 가기(back)가 자동으로 생김UINavigationController 안에서만 사용 가능let detailVC = DetailViewController()navigationController?.pushViewController(detailVC, animated: true)사용 예:목록에서 상세 보기설정 → 하위 설정 메뉴탭 내에서 단계적으로 들어가는 구조✅ present 방식 (모달)새로운.. 2025. 4. 19.
250418 TIL | 순수함수, 표기법, 생명주기 | 불금엔 카공이지,,,웅웅 안녕하세요? 저는 23G입니다 오늘은 뭘 공부했냐면요 - 순수함수- 코드 표기법에 대해 알아보고 포스팅을 썼습니다. 그리고 조금 늦었지만,,지난 수업 내용을 정리+복습 했습니다. - ViewController 생명 주기에 대해서도 공부하고 포스팅 썻어요!!! - ByteCoin 앱도 복습했답니다. 이제 드디어 안보고 앱 완성 할 수 있게됨아마도...? 그리고 앞으로 마음 다시 다잡고열공 모드로 돌입 다짐함요 등한시하던 앱 만들기 강의(by. 앨런) 도 같이 병행하며 듣기!!! 꼬옥 내일은~Swift에서 화면 표시 방식에 대해 공부하기데이블뷰 + 화면이동 강의듣기해볼게요!!! 그럼 안녕,,, 2025. 4. 18.
[iOS] ViewController의 생명주기 📱 UIViewController 생명주기(View Life Cycle) 간단 정리iOS에서 화면 하나하나는 UIViewController로 구성됨이 컨트롤러는 화면이 로드되고 보여지고 사라지는 일련의 과정 속에서특정 메서드들이 자동으로 호출됨 → 이를 뷰 컨트롤러 생명주기라고 함 🤓주요 메서드 요약메서드언제 호출?주로 하는 일viewDidLoad()뷰가 메모리에 올라올 때 (딱 1번)초기 UI 설정, 데이터 불러오기viewWillAppear(_:)화면이 보이기 직전화면 갱신, 네비바 설정 등viewDidAppear(_:)화면이 보인 직후애니메이션 실행, 로딩 종료 처리viewWillDisappear(_:)화면이 사라지기 직전저장 처리, 타이머 중지 등viewDidDisappear(_:)화면 완전히 .. 2025. 4. 18.