TECH RAFA
/
UIKit (11)
Search
Share
UIKit (11)
Gallery
List
Search
All Posts
UILabel
의
줄바꿈 동작
과 관련이 있음.
numberOfLines = 0
•
UILabel
은
줄 수에 제한이 없다는 것을 의미함.
numberOfLines = 0과 numberOfLines = 1의 여백 차이
TIL
UIKit
UILabel
앱의 생명 주기는 앱이 실행되면서 겪는 상태 변화를 의미합니다. 이 생명 주기는 iOS 시스템에 의해 관리되며 앱이 사용되거나 백그라운드로 이동할 때마다 특정 이벤트가 발생합니다. 이를 통해 앱이 적절한 시점에 필요한 작업을 수행할 수 있도록 도와줍니다.
목차
1.
앱의 생명 주기 상태
2.
앱의 생명 주기 상태 변화를 알리는 메서드
3.
앱의 생명 주기와 성능 최적화
앱의 생명주기
TIL
UIKit
Lifecycle
목차
1.
init
2.
loadView
3.
viewDidLoad
4.
viewWillAppear
뷰 컨트롤러의 생명주기
TIL
UIKit
Lifecycle
기본 설정 및 UISearchController 구성
•
searchResultsUpdater 프로퍼티를 현재 클래스(self)로 설정하여 사용자가 검색 바에 입력할 때마다 결과 업데이트
•
검색 중에 배경을 흐리게 하지 않음
•
내비게이션 바를 숨기지 않음
•
자동 대문자 비활성화
•
자동 수정 비활성화
•
맞춤법 검사 비활성화
검색 및 필터링 기능 구현하기
TIL
UISearchController
filtering
UIKit
Firestore를 통한 비동기적 사용자 데이터 로딩
Firestore 데이터베이스에서 사용자 데이터를 비동기적으로 가져오는 역할을 한다. 이 메서드는 완료 핸들러를 파라미터로 받아 데이터베이스에서 데이터를 성공적으로 로드한 후 필요한 동작을 실행할 수 있게 해준다.
•
타입 메서드(static)로 정의함으로써 UserService의 인스턴스를 생성하지 않고도 호출할 수 있다.
•
COLLECTION_USERS.getDocuments
는 Firestore에서 ‘users’ 컬렉션의 모든 문서를 가져오는 비동기적으로 가져온다.
•
guard let
구문을 사용하여 snapshot 객체가
nil
인 경우 함수를 더 이상 진행하지 않고 종료한다. 이는 데이터가 없거나 조회에 실패했을 때의 안전한 처리를 위함이다.
•
snapshot.documents.map
을 사용하여 각 문서를 User 모델 객체로 변환한다. 여기서
User(dictionary: $0.data())
는 Firestore 문서의 데이터를 이용하여
User
객체를 초기화한다.
•
completion(users)
는 변환된 사용자 배열을 완료 핸들러를 통해 반환한다. 이를 통해 함수를 호출한 곳에서 사용자 데이터를 사용할 수 있게 된다.
사용자 데이터 처리 및 표시 방법
TIL
@escaping
UIKit
헌혈 앱(기간: 1일)
Project
UIKit
CocoaPods
MVC
SnapKit
Then
GitHub - UMC-HowsTheWear/HowsTheWear-iOS at develop
Contribute to UMC-HowsTheWear/HowsTheWear-iOS development by creating an account on GitHub.
온도에 맞춰서 추천 아이템 실시간으로 변경
About
•
사용자 위치의 날씨 데이터에 따른 실시간 옷 추천 + 다양한 패션 정보 제공
•
CoreLocation과 WeatherKit 사용
Hows The Wear(기간: 54일)
Project
UIKit
CocoaPods
MVC
CoreLocation
WeatherKit
SnapKit
Then
About
•
SwiftSoup를 이용해서 웹 사이트의 텍스트를 크롤링 해옴
•
SF Symbols의 이미지를 랜덤으로 표시하고 5개의 문항 중 정답 선택하면 다음 문제로 넘어가고 오답이면 진동 + 화면 흔들리는 애니메이션 + 빨간색 배경색이 등장 후 사라짐
사용된 오픈소스라이브러리
•
SwiftSoup
•
SnapKit
•
Then
SF Symbols 퀴즈 앱(기간: 7일)
Project
UIKit
CocoaPods
MVC
SwiftSoup
SnapKit
Then
About
•
AVFoundation을 이용해서 버튼에 햅틱 효과를 추가함
•
문자열에 Timer를 이용해서 각 문자에 타이핑 효과를 넣음
사용된 오픈소스라이브러리
•
ViewAnimator
사용된 프레임워크
•
AVFoundation
인용구 앱(기간: 7일)
Project
UIKit
SPM
AVFoundation
ViewAnimator
About
•
Kingfisher를 이용해서 원격 저장소에서 이미지 다운로드 후 캐싱하여 앱의 반응 속도와 데이터 관리 효율성을 증가시킴
•
ViewAnimator를 이용해서 사용자에게 보다 매력적인 인터페이스를 경험할 수 있도록 함
사용된 오픈소스라이브러리
•
Kingfisher
•
ViewAnimator
주요 코드
두뇌 게임(기간: 7일)
Project
UIKit
SPM
Kingfisher
ViewAnimator
About
•
닉네임, 한 줄 프로필과 자기소개 입력 및 유효성 검사
•
이전 뷰 컨트롤러에 데이터 전달 및 저장 → UserDefaults
사용된 오픈소스라이브러리
•
PanModal
사용된 프레임워크
•
SafariServices
프로필 설정(기간: 7일)
Project
UIKit
SPM
SafariServices
PanModal