Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

iOS 개발일지

SeSAC iOS 데뷔과정 2기 액기스 정리!! 본문

SeSAC iOS 데뷔과정 2기

SeSAC iOS 데뷔과정 2기 액기스 정리!!

Lia's iOS 2023. 1. 9. 21:24

여태 공부하며 배웠던 것들을 거의 매일 포스팅했지만, 누군가가 찾아 보려면 불편한 부분이 많을 것 같아 키워드 위주로 정리했습니다!

저도 다시 볼 일 있을때 편하려구...^^*

이렇게 다시 보니 새싹 과정 하면서 정말정말 많은 걸 배웠구나...! 하고 다시 깨닫게 되네요☺️

 

Swift 참고 문서 : https://jusung.gitbook.io/the-swift-language-guide/language-guide/23-automatic-reference-counting

1주차

ViewController Life Cycle
Application Life Cycle
다크모드 / Appearance
세로모드와 가로모드
Parameter vs Argument
ReturnKey로 키보드 내리기
비밀번호 숨기기 / isSecureTextEntry
텍스트필드 숫자 제한 (붙여넣기 방지)
StackView Distribute
Touch Down (Button Action Event)

2주차

Alpha vs Opacity
Rendering Mode (template vs original)
View Property
Size Class (Compact vs Regular)
CornerRadius 특정 꼭짓점에만 적용하기
함수의 반환값 (ed, ing)
Formatted
Storyboard Reference
Project Settings (DerivedData 삭제)
ViewController Transition
Unwind (이전 화면으로 돌아가기)
팝업창 (처럼) 만들기
StackView 비율로 Spacing 설정하기

3주차

TableView (Static / Dynamic)
열거형의 배열화 / CaseIterable와 allCases
TableViewCell 스와이프 / canEditRowAt
스크롤로 키보드 내리기 / Dismiss on drag
CollectionViewFlowLayout
CollectionView - Estimate Size
화면전환 코드로 구현하기
NavigationBar Item 코드로 구현하기
특정 문자 혹은 공백 제거하기 / TrimmingCharacters(in: )
Contains
Window rootViewController 설정
UIButton의 currentTitle이 nil로 뜬다면
초기화 버튼 구현 (모든 UserDefaults 삭제하기)
텍스트필드 테두리 없애기 / borderStyle
네비게이션 아이템 컬러 변경 / 타이틀 변경

4주차

Xcode 자잘한 기능 모음
Type Property vs Instance Property
Computed Property
열거형과 프로퍼티
Property Observer
class -> static func vs class func
Handling button tap inside UITableView Cell
Protocol
UIToolBar
UITextView - inputView
UISearchBar - UISearchBarDelegate
UIPickerView - UIPickerViewDeleagte, UIPickerViewDataSource
ATS (App Transport Security Settings)
WebViewController
Delegate와 DataSource의 차이
Responder Chain
Local Notification
Custom Font
UITextView 특정 정보 유형 감지 / dataDetectorTypes
UILabel에 이미지 넣기 / NSTextAttachment
문자 인증번호 받아오기 / textContentType

5주차

구조체와 열거형의 타입 저장 프로퍼티 활용
Singleton Pattern
HTTP
searchBar 간단 구현
.gitignore
HTTP Header
Pagination
addingPercentEncoding - urlQueryAllowed
First Class Object
Typealias
시뮬레이터 네트워크 속도 설정 / Simulator Condition
iOS에서 Pagination을 구현하는 세 가지 방법
로딩바 구현 / Loading View (feat.JGProgressHUD)
UISearchBarDedgate
Closures
@escaping
고차함수 : filter, map, reduce
Synchronous / Asynchronous
Serial / Councurrent
DispatchQueue
Delegate를 활용해 Cell 내부 버튼 구현하기
불필요한 콘솔창 로그 / OS_ACTIVITY_MODE

6주차

Clousre 활용 - 요청할 API의 URL이 비슷할 경우
Clousre 활용 - 얼럿의 내용은 동일한데 핸들러만 바꾸고 싶을 때
특정 문자열 치환하기 / replacingOccurrences
TableView AutomaticDimension
XIB UIView Custom Class
required init?(coder: NsCoder)
Protocol Initializer Requirements
Failable Initalizer
override init(frame: CGRect)
@IBInspectable / @IBDesignable
TableView in CollectionView / CollectionView in TableView
스크롤 맞추기 / isPagingEnabled
awakeFromNib
셀 재사용 초기화 / prepareForReuse
awakeFromNib과 prepareForReuse, 그리고 cellForRowAt과 cellForItemAt 호출 시점
Index Out of Range - reloadData
@escaping closure / completionHandler
Autoresizing / Frame Based Layout
translatesAutoresizingMaskIntoConstraints
네비게이션 바 타이틀 컬러 변경
iOS Privacy
CLLocation
MapView
카메라 기능 사용하기 / UIImagePickerController
Content-Type
Multipart / form-data
MIME Type
Button Configuration

7주차

애니메이션 효과 / UIView.animate
Custom Framework
AccessControl
UIPageViewController
UIPageControl
UIContainerView
iOS Layout
addSubView
translatesAutoresizingMaskIntoConstraints & Autoresizing Mask
NSLayoutAnchor
Snapkit
forEach vs for-in
NSLayoutConstraints
오류 : which is already presenting
TypeCasting
Generic
데이터 전달 / Closure
Equatable 프로토콜과 등위연산자
extension과 Generic을 활용한 화면 전환
Required Initializer / init(frame: ) 와 init(coder: )
BaseViewController / CustomView와 loadView
데이터 전달 / NSNotification
Deinitializer
Code Base CollectionView 구현
Code Base tapGestureRecognizer 구현
isSelected
setTitleColor
UIButton.contentMode / SystemImage 사이즈 변경

8주차

DB / Realm
Realm Studio
오류 : call beginWriteTransaction on an RLMRealm instance first
Property Observer 를 활용한 reloadData
Custom Swipe Actions / Realm Update
Realm Filter, Sort
ErrorHandling
lazy var VS let (feat. closure)
UIMenu
Meta Type
App Sandbox
데이터 전달 / Protocol
extension과 Generic을 활용한 화면 전환2
FileManager
유저 이벤트 무시 / isUserInteractionEnable
UIDocumentPickerViewController
파일앱을 활용한 백업/복구
백업/복구 시 고려해야 할 다양한 경우의 수들
지연 실행 코드
Realm 관련 코드 분리 (Repository)
FSCalendar
WMO
Static Dispatch (Direct Call) / Dynamic Dispatch (Indirect Call)

9주차

Codable (Encodable & Decodable)
CodingKey (enum CodingKeys)
DecodingStrategy: init(from decoder: Decoder) & decodeIfPresent
JSONEncoder() - outputFormatting, encodingStrategy
URLSession
URLSessionTask
URLRequest
URLResponse
URLComponent
Query Parameter / Path Parameter
MVC / MVVM
MVVM - Observable 이해
Concurrency / 동기, 비동기
GCD
Quality Of Service, Custom Queue
enter - leave - notify
Race Condition, Thread Sanitizer
등록일이 일주일 이내일 때 요일로 표기
UISearchController
배열 내의 중복된 요소 제거
다크모드 대응
UILable Text 특정 키워드 (ex. 검색 키워드) 만 속성 변경하기
NavigationController 를 통한 툴바 구성

10주차

ARC (Automatic Reference Count)
Closure Capture & Capture List
weak var delegate
Localization
앱스토어 평가 알림 / SKStoreReviewController
문의 남기기 기능 / MessageUI

15주차

Firebase
최상위 뷰컨트롤러 종류 판단
Remote Notification
Method Swizzling
Realm Migration
Shell 명령어
Git 명령어

16주차

Realm Relationship
Realm List
LinkingObjects
EmbeddedObject
Compositional Layout
Collection View APIs
UICollectionLayoutListConfiguration
UICollectionView.CellRegistration
UIContentConfiguration
UIListContentConfiguration
UIBackgroundConfiguration
Protocol as Type / 타입으로서의 프로토콜
DiffableDataSource
Snapshot
Hashable (feat. UUID)
MVVM API 통신

17주차 RxSwift

RxCocoa 맛보기
Iterator Protocol
Sequence Protocol
Observable
DisposeBag (Disposable)
Observer
Operator (1)
Operator (2)
Subject
Relay
Observable (2)
Operator (3)
Share
subscribe vs bind vs drive
observable vs subject vs relay
Driver

18주차 RxSwift

debug()
RxAlamofire
RxDataSources
Input / Output
associatedtype
API 통신 로그인
ATS 특정 도메인 허용
API url, headers, parameters 관리 (feat. 열거형)
Subscript
Copy On Write
API 코드 개선 (feat. Generic & Meta Type)

오픈소스

awesome swift : https://github.com/matteocrippa/awesome-swift