yoogail105 / KkokkoSwift

꼬리에 꼬리를 무는 swift 개념 정리
28 stars 0 forks source link

꼬꼬Swift: 꼬리에 꼬리를 무는 스위프트・・・

swift TIL repo

어떤 특별한 기준 없이, 저에게 애매했던 지점을 공부한 내용을 기록합니다.
공부하며 마주친 개념들에 대해서도 기록합니다.

🐾 iOS

주제 세부 주제 키워드
GCD 프로세스와 쓰레드
프로세스와 쓰레드 MainThread Global Thread
Sync/Async, Concurrent/Serial Sync/Async Serial/Concurrent
GCD
QoS
DispatchSemaphore
thread/task 동시성 프로그래밍 Queue GCD Dispatch Queue QoS
Thread-safe Thread-safe Multi-Threading Thread-safe atomic race conditions deadlocks
COW COW Copy On Write
ARC 메모리구조 메모리구조 code data heap stack
ARC ARC Auto Reference Counting
강한 순환 참조 오류와 해결 strong Strong Reference Cycles weak unowned
Delegate 패턴 델리게이트패턴 delegate pattern
Singleton 패턴 싱글톤패턴 singleton pattern thread-safe type property
NotificationCenter 노티피케이션센터 notification notification center
접근제어자 접근제어자 access control open public internal fileprivate private 접근제어(set)
객체지향프로그래밍(OOP) 객체지향 프로그래밍
SOLID 원칙
다형성
OOP 추상화, 캡슐화, 상속성, 다형성 SOLID 의존성주입
프로토콜 지향 프로그래밍 프로토콜 지향 프로그래밍 상속 컴포지션 확장
메소드 디스패치 메소드 디스패치 static dynamic
소켓통신 TCP, UDP TCP UDP
아키텍처 패턴 아키텍처패턴
MVC
MVP
MVVM
Hugging / Resistance Priority Hugging / Resistance Priority Hugging Priority Resistance Priority
.DS_Store .DS_Store
Combine Combine
뷰컨트롤러의 생명주기 ViewController LifeCycle loadView viewDidLoad viewWillAppear viewWillDisappear
Method Swizzling Method Swizzling Method Swizzling
Push Notification Push Notification
APNs
Push Notification 동작 방식
Apple Push Notification Service Device token


🐾 Swift

주제 세부 주제 키워드
Optional Optional optional nil Optional Unwrapping Optional Binding Optional Chaining Optional 자동해제 Optional 묵시적 해제
Guard-else 구문 Guard-else guard-else
Overriding과 Overloading Overriding과 Overloading Overriding Overloading final
프로퍼티 프로퍼티
타입프로퍼티
프로퍼티 저장프로퍼티 연산프로퍼티 타입프로퍼티
클래스와 구조체 클래스와 구조체
참조 타입과 값 타입
class struct call by value call by reference
Frame, Bounds Frame Bounds 차이 Frame Bounds CGRect
RxSwift DisposeBag DisposeBag 1
DisposeBag 2
DisposeBag Disposable disposed(by:) dispose() insert()
Closure Closure closure 일급객체
고차함수 map map
KVC KeyPath
KVC
KeyPath 프로퍼티참조 Key-Value Coding
UIKit Cell 재사용 주의사항 dequeueReusableCell prepareForReuse()
SwiftUI LaunchScreen LaunchScreen delay


📘 꼼꼼한 재은씨의 Swift: 기본편

목차 세부 목차 키워드 정리
1. 첫번째 iOS앱 만들기
1.1. 첫번째 앱, Hello, World! - 프로젝트 기본 구조
- 프로젝트 구성과 스토리보드
- 스토리보드
-
1.2. 시작 화면 제어하기 - 런치스크린
2. iOS 앱의 기본 구조와 코코아 터치 프레임워크 - []()
2.1 앱의 기본 구조 - 앤트리포인트와 앱의 초기화 과정
- MVC 패턴
- 앱의 상태 변화
2.2 iOS와 코코아터치 프레임워크 -iOS와 코코아터치 프레임워크
3. 화면상의 객체를 제어하는 방법 3.1 @IBOutlet과 @IBAction - @IBOutlet과 @IBAction
4. 화면 전환 4.1 iOS에서의 화면 전환 개념 - iOS에서의 화면 전환
- []()
4.2 - 4.5 화면 전환 기법들 - 뷰 이용
- 뷰 컨트롤러 직접호출
- 네비게이션 컨틀롤러 이용
- 세그웨이 이용
5. 다른 뷰 컨트롤러와 데이터 주고받기 5.1. 화면 전환 과정에서의 값 전달 방식 - @IBAction의 sender Type: Any?
- 화면전환: as? SecondViewController
5.2. 뷰 컨트롤러에 직접 값을 전달하기 - 프레젠테이션, 내비게이션, 세그웨이로 전달
5.3 이전 화면으로 값을 전달하기 - 이전 화면으로 값을 전달하기
6. 사용자에게 메세지를 전달하는 방법 6.1 UIAlertController
6.2 로컬 알림
- UIAlertController, UserNotification
7. 델리게이트 패턴 7. 델리게이트 패턴 - 델리게이트패턴
7.1 텍스트 필드 - 텍스트필드
7.2 이미지 피커 컨트롤러 - 이미지 피커 컨트롤러
8. 테이블 뷰를 이용한 데이터 목록 구현
9. 네트워크 통신과 API 9.1 네트워크 통신의 종류 연결/비연결 지향 통신
SOAP, RESTful
XML, JSON
9.2 오픈 API와 공공 콘텐츠 오픈 API
OAuth 2.0
9.3 오픈 API를 이용한 네트워크 실습 Data, URL, Log출력
ATS(App Transport Security)
10. 테이블 뷰의 동작원리 10.1 테이블 뷰를 스크롤할 때 발생하는 일들 재사용 메커니즘
10.2 일반 뷰 컨트롤러에서 테이블 뷰 사용하기 tableView객체 사용하기
11. 웹 뷰: 앱에서 웹 페이지를 여는 방법 11.1 WKWebView를 이용하여 영화 정보 상세 화면 구현하기
11.2 WKWebView
사파리 앱, UIWebView, WKWebView, SFSafariViewController