[iOS] - GCD 2. GCD & Operations
GCD & Operations
[iOS] - GCD 0. Info
1. Introduction
[iOS] - GCD 0. Info
Concurrency
[iOS] - RunLoop 개념
Run Loops
[iOS] NSAttributedString html
어느날 [_WebSafeForwarder forwardInvocation:]
라는 크래시가 발생했다. 이에 대해 구글링을 해보니 여러 Stack Overflow 글에서 NSAttributedString 의 메서드를 사용해서 html 을 파싱할 때 간헐적으로 발생하는 크래시인 것으로 보여 관련해서 iOS 에서 NSAttributedString 으로 html 을 파싱할 때 내부적으로 어떻게 동작하는지 확인하고, 왜 크래시가 발생하는지 확인했다.
[iOS] - ARM Architecture
ARM Architecture
[iOS] - What's new in TextKit and text views
What’s new in TextKit and text views
[iOS] - WWDC21 Meet TextKit 2
Meet TextKit 2
[iOS] - Hashable
개발하다보면 Hashable
프로토콜을 정말 많이 사용하게 된다. Hashable
과 옵셔널 값을 같이 사용하면서 생긴 궁금증도 있고, Hashable
을 굉장히 많이 사용하지만 깊이 알고 있지 않은 상태로 사용하고 있는 것 같아 Hashable
이 어떤 프로토콜인지 좀 더 자세히 공부해보려고 한다.
[iOS] - WWDC19 Advances in UI Data Sources
[iOS] - WWDC22 Meet Swift Async Algorithms
Meet Swift Async Algorithms https://github.com/apple/swift-async-algorithms https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html https://developer.apple.com/videos/play/wwdc2021/10058 https://developer.apple.com/videos/play/wwdc2021/10256
[iOS] - Design App Shortcuts
[iOS] - Embrace Swift generics
[iOS] - Design protocol interfaces in Swift
[iOS] - WWDC22 Hello Swift Charts
[iOS] - Meet passkeys
[iOS] - WWDC22 Hello Swift Charts
Hello Swift Charts Documentation - Creating a chart using Swift Charts
[iOS] - WWDC22 What's new in Xcode
[iOS] - WWDC22 What's new in Swift
Swift Package Manager
[iOS] - Platforms State of the Union
[iOS] - Complications and widgets: Reloaded
[iOS] - Universal Link
Universal Link
[iOS] - KVO
KVO를 깊게 파보자.
[iOS] - UIStackView with Dynamic height in UICollectionViewCell
collectionview cell 안에 stackview를 넣고, stackview의 높이를 동적으로 변경해봤다.
[iOS] - UIStackView dynamic height, 동적 높이 조절
UIStackView의 동적 높이의 동작에 대해 알아보자.
[iOS] - 키보드 prediction bar 없애기
키보드 상단에 나타나는 autocorrect / spellchecking 부분 바 없애기
[iOS] - 키보드가 특정 뷰를 가릴 때 UIScrollView로 뷰를 위로 올리기
간혹 텍스트 입력을 위해 키보드가 필요한 뷰에서 키보드가 올라와 사용자에게 보여야 할 뷰가 가려질 때가 있다. UIScrollView를 사용해서 이런 현상을 어떻게 해결할 지 보자.
[iOS] - Combine 프레임워크 WWDC 2019 정리
WWDC 2019에서 소개된 Combine이 무엇이고, 어떻게 사용하는 건지 알아보자.
[iOS] - sizeToFit
sizeToFit()
메서드는 무엇을 하고 어쩔 때 쓸까?
[iOS] - UIApplication.shared.open으로 url 리소스 열기
UIApplication.shared.open()
는 어떻게 쓸까?
[iOS] - Build Time Analyzing, 빌드 시간 분석하기
빌드 시간을 분석하여 빌드가 오래 걸리는 부분을 찾아내 개선하자.
[iOS] - Preview UIViewController in Xcode
Xcode에서 UIViewController를 preview를 통해 미리 확인할 수 있을까?
[iOS] - visibleCells in nested UICollectionView
UICollectionView에서 스크린에 보여지는 cell들만 확인하는 방법이 있을까?
[iOS] - User Notificaation으로 Local notification 알림 띄우기
UserNotifications를 이용해서 local notification을 띄우는 방법에 대해 알아보자.
[iOS] - Diffable Data Source, UICollectionViewDiffableDataSource
Diffable DataSource는 무엇인지, 그리고 UICollectionViewDiffableDataSource는 어떻게 사용하는지
[iOS] - UIGestureRecognizer
UIGestureRecognizer 정리
[iOS] - UIPanGestureRecognizer
UIPanGestureRecognizer 정리
[iOS] - panGestureRecognizer를 이용해서 뷰 드래그 구현 삽질 내용
panGestureRecognizer를 이용해서 뷰를 드래그 하는 것을 구현할 때 삽질했던 내용을 정리했다.
[iOS] - modalPresentationStyle 비교
UIViewController를 띄울 때 설정할 수 있는 modalPresentationStyle을 비교해보자.
[iOS] - IDFA, AppTrackingTransparency ATT란?
``
[iOS] - CAGradientLayer, 그라데이션 적용하기
view에 그라데이션을 적용해보자.
[iOS] - iOS 전문가가 되기 위하여
iOS 전문가가 되려면?
[iOS] - Xcode Build System 이해하기
Xcode에서 빌드가 어떻게 이루어지는지 알아보자.
[iOS] - UIStackView Scroll하기
UIStackView가 화면에 나타나 수 있느 범위르 넘어섰을 때 스크롤할 수 있게 만들어보자.
[iOS] - 5 Tips to Write Clean Swift Code
Clean한 swift code르 작성하는 팁
[iOS] - iOS Memory Deep Dive
iOS 메모리에 대해 깊이 알아보자.
[iOS] - iOS 13에서의 UICollectionViewCompositionalLayout 예시
Move your cells left to right, up and down on iOS 13
[iOS] - Launch Screen 만들기
앱을 실행했을 때 뜨는 Launch Screen을 만들어보자.
[iOS] - Xcode iOS Framework vs Static Library
Xcode를 통해 만들 수 있는 프레임워크와 정적 라이브러리에 대해 자세히 알아보자.
[iOS] - Xcode project.pbxproj conflict와 이후 Xcode의 빌드 에러 해결 과정
Xcode의 project.pbxproj 파일에서 일어난 conflict와 그 이후 빌드 과정에서 발생했던 에러를 해결하는 과정을 적어보았다
[iOS] - UICollectionViewFlowLayout spacing에 대한 고찰
UICollectionViewFlowLayout에서 minimum spacing을 적용할 때 일어나는 변화에 대해 알아보자.
[iOS] - UICollectionView에서 horizontal scroll 할 때 주의할 점
UICollectionView를 횡 스크롤할 때(horizontal scroll) 헷갈리는 점들과 주의할 점들에 대해 짚고 넘어가보자.
[iOS] - UICollectionView란?
UICollectionView에 대해 자세히 알고 넘어가자
[iOS] - 무한 ScrollView 만들기
무한으로 스크롤링되는 페이징 뷰를 만들어보자.
[iOS] - UIViewControllerTransitioningDelegate
Custom UIViewController Transition을 가능하게 하는 UIViewControllerTransitioningDelegate에 대해 알아보자.
[iOS] - view의 frame, bounds
frame 과 bounds가 무엇인지, 둘의 차이가 무엇인지 알아보자.
[iOS] - Custom UIViewController Transition, 커스텀 뷰컨트롤러 이동 구현하기 튜토리얼
커스텀으로 UIViewController가 전환되도록 구현해보자.
[iOS] - Diff 사용해서 UICollectionView data reload하기
Ordered collection diffing을 사용해서 UICollectionView의 데이터를 효율적으로 reload하자.
[iOS] - Custom UIViewController Transition, 커스텀 뷰컨트롤러 이동 구현하기
커스텀으로 UIViewController가 전환되도록 구현해보자.
[iOS] - UICollectionView 데이터를 업데이트 하기 편한 Diff 알고리즘
``
[iOS] - Layout Update
``
[iOS] - UITableView performBatchUpdates - row와 section를 일괄적으로 업데이트하기
Row와 Section을 일괄적으로 업데이트하는 방법에 대해 알아보자.
[iOS] - didSet 파헤치기
didSet에 대해 알아보자
[iOS] - UIVIew isHidden, 감출 때 여백 없애기
UIView에서 isHidden 프로퍼티를 설정해서 뷰를 감추고 다시 표시할 수 있다. 하지만 원래 뷰가 차지하던 자리게 여백이 생기게 된다. 이를 해결하기 위한 방법을 알아보자.
[iOS] - UITableView style, headerView 같이 드래그하기
UITableView의 style을 설정해서 headerView가 drag할 때 같이 드래그 되도록 한다.
[iOS] - Clean Architecture, 직접 해보기
Clean architecture가 무엇인지 알아보자.
[iOS] - Keyboard dismiss, 바깥을 터치하거나 Return 키를 눌러 키보드 해제하기
키보드가 화면에 올라와 있는 상태에서 바깥을 터치하거나 <kbd>return</kbd> 키를 눌러 키보드를 해제하는 방법을 알아보자.
[iOS] - Push 알림, APNS 테스트를 위해 설정해야 하는 것들
실제 기기에서 push 알림을 테스트하기 위해 설정해야 하는 것들을 알아보자.
[iOS] - UITableView expand, 접었다 펴서 확장하고 축소하기
TableView에서 특정 행을 클릭해서 접었다 폈다 할 수 있는 방법을 알아보자.
[iOS] - UITableView 드래그 드롭으로 행 순서 바꾸기
TableView에서 드래그 드롭으로 행의 순서를 바꾸는 방법을 알아보자.
[iOS] - UIScrollView의 ContentOffset, ContentInset, ContentSize
ContentOffset, ContentInset, ContentSize 차이에 대해 알아보자.
[iOS] - Table View에서 드래그 드롭하기
TableView에서 드래그 드롭을 하는 방법을 알아보자.
[iOS] - 앱의 Life Cycle 관리하기, 생명 주기 알아보기
앱의 생명주기를 관리하는 법을 알아보자.
[iOS] - 알림 popup 메세지 띄우기
알림 popup message를 띄워보자.
[iOS] - UILabel 텍스트 터치해서 복사하기
UILabel의 text를 터치해서 복사하는 법을 알아보자.
[iOS] - Singleton Pattern Swift로 구현하기
Singleton Pattern을 Swift에서 구현해보자.
[iOS] - Push 알림, Notification 시뮬레이터에서 띄우기
iOS에서 push 알림을 띄우는 방법을 알아보자.
[iOS] - presentedViewController, presentingViewController의 차이와 사용
presentedViewController, presentingViewController의 차이에 대해 보도록 하자.
[iOS] - URL Scheme 파싱하기
URL Scheme으로 앱을 호출했을 때 파싱하는 법을 알아보자.
[iOS] - Test Code 작성하기
코드를 새로 작성하는 것만큼이나 중요한 테스트 코드를 작성하는 법을 알아보자.
[iOS] - User Notificaation, 푸시 알림 띄우기
앱에 notification를 띄우는 법을 알아보자.
[iOS] - 앱에 URL Sceheme 적용하기
앱에 URL Scheme을 적용해보자.
[iOS] - Storyboard 사용하지 않게 설정하기
스위프트에서 스토리보드를 사용하지 않고 코드로만 개발하기 위해 스토리보드를 사용하지 않는 설정을 해보자.
[iOS] - WKWebView, 웹뷰 사용하기
WKWebView가 무엇인지 보고 사용해보자.
[iOS Programming Big Nerd Ranch] 8. Debugging
디버깅 하는 방법에 대해 보자.
[iOS Programming Big Nerd Ranch] 7. 애니메이션 다루기
애니메이션을 적용하는 방법을 보자.
[iOS Programming Big Nerd Ranch] 12. Stack Views
Stack View에 대해 알아보자.
[iOS Programming Big Nerd Ranch] 6. Localization
Localization을 해보자.
[iOS Programming Big Nerd Ranch] 5. Programmatic Views, 뷰를 코드로 생성하기
view를 코드로 생성해보자.
[iOS Programming Big Nerd Ranch] 4. View Controller 들
View Controller를 하나 이상 두려면 어떻게 해야 하는가?
[iOS Programming Big Nerd Ranch] 2. 텍스트, 글 입력과 Delegation(위임)
텍스트를 입력하는 것과 Delegation에 대해 알아보자
[iOS Programming Big Nerd Ranch] 2. 뷰와 뷰 계층
뷰와 뷰 계층에 대해 알아보자.
[iOS Programming Big Nerd Ranch] 1. 간단한 iOS 앱 만들기
간단한 iOS 앱을 만들어보면서 기초를 알아보자.