안녕하세요😀몇 일 사이에 컨디션이 안 좋아서 포스팅을 못했는데 너무 안하는 것보다 최근에 다시 읽고있는 야곰님의 Swift 스위프트 프로그래밍 책을 공부하면서 놓쳤던 부분에 대해서 정리하면서 기억해보려고 합니다!!그래서 처음으로 가져온 파트는 프로퍼티 감시자입니다.
안녕하세요😀오늘은 Swift하면 빼놓을 수 없는 이야기인 클로저에서 특히!! 탈출 클로저에 대해서 헷갈리는 부분이 있어서 정리하면서 다시 한번 기억해보려고 합니다.먼저 탈출?? 이라는 단어는 Swift에서 함수의 전달인자로 전달한 클로저가 함수 종료 후에 호출될 경우
모나드라는 개념을 보다가 map과 flatmap의 차이점에 대해서 정리해보려고 한다.먼저, Swift 4.1 버전 이후부터는 compactMap이라는 것도 생기게 되었는데 이것은 flatmap과 사용방법은 같지만 Sequence타입이 옵셔널 타입의 Element를 포장
서브스크립트 서브스크립트는 설정자나 접근자의 메서드를 구현하지 않고 타입의 요소에 접근할 수 있는 단축 문법이다. 서브스크립트는 여러 개를 구현할 수 있으며 전달하는 값의 타입을 유추해서 적절한 서브스크립트를 실행하게 된다. 또, 여러 개의 매개변수를 갖을 수 있지만
상속
타입캐스팅은 쉽게 말하면 타입을 변환하는 것이다. 먼저 Swift는 데이터 타입 안전을 위해서 다른 타입과의 값 교환을 제한한다. 그리고 다른 언어(C, Python 등..)에서 지원하는 암시적 타입 변환도 지원하지 않는다. 그럼 다 제한된다고 하는데 도대체 Swift
프로토콜은 어떤 역할을 위해서 메서드, 프로퍼티 등에 대한 틀을 말한다. 프로토콜을 만들면(틀을 생성하면) 구조체, 클래스, 열거형은 만든 프로토콜을 채택해서 프로토콜의 요구사항을 구현할 수 있다.기본적인 형태는 다음과 같다.이렇게 정의한 프로토콜을 채택하는 방법은 다
iOS 개발자가 하고싶다는 사람이 ViewController의 생명주기조차 모른다고 하는게 부끄러워서 찾아보고 직접 예제까지 실행시켜보았습니다.먼저, 이미지로 ViewController의 생명주기를 보면 다음과 같습니다.ViewController 생명주기viewDidL
ARC = Automatic Reference CountingSwift는 프로그램의 메모리 사용을 관리하기 위해서 ARC 메모리 관리 기법을 사용한다. ARC는 이름처럼 자동으로 메모리는 관리하는 방식이고 더이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방
강한참조 = 인스턴스가 메모리에 계속 남아있어야하는 명분을 만들어 주는 것지난 예제처럼 인스턴스를 다른 인스턴스의 프로퍼티나 변수, 상수에 할당할 때 참조 횟수가 1이 증가하고 nil을 할당하면 1이 감소한다.기본적으로 참조는 강한참조여서 별도의 식별자를 명시하지 않아
지난 강함참조로 인해서 발생하는 문제점인 강한참조 순환문제를 해결하기 위한 방법으로 수동으로 인스턴스를 해제하면서 해결하는 방법이 있지만 코드가 길어지면서 인스턴스가 많아지게 되면 놓치는 부분이 발생할 수 있기 때문에 다른 방법인 약한참조와 미소유 참조가 있다고 했다.
지난번 정리한 내용을 다시 한번 정리해보면..강한참조 = 기본 참조 방식, 인스턴스가 메모리에 남아있어야 하는 명분을 만듬.강한참조 순환문제 = 강한참조를 사용할 때, 참조횟수는 0이 아니여서 메모리에 남아있는데 더 이상 인스턴스를 참조할 방법이 없는 문제약한참조 =
아이폰 어플을 보면 모서리가 각져있지 않고 동글 동글하게 생겼다. 어플뿐만 아니라 기본 어플이던지 아니면 카카오톡 같은 어플에서도 이러한 모양들은 찾아 볼 수 있다. 그래서 어떻게 이런 모양을 만드는지에 대해서 간략하게 정리해보려고 한다.꼭! UITextField가 아
지난 TextField 이후로 iOS 14버전 이전에서 알람 맞추거나 정보를 입력할 때 UIPickerView를 많이 볼 수 있다. 그래서 UIPickerView를 적용하면서 공부했던 내용을 정리해보려고 한다.이미지처럼 이러한 형태를 iOS 사용자들은 많이 봤을 것 이
UITableView의 UITableViewDelegate, UITableViewDataSource 프로토콜에 대해 알아보자.TableView를 사용하면 필수적으로 채택해야하는 프로토콜들이다.먼저, UITableViewDelegate프로토콜은 애플 개발자 문서에서는 다
UITableView에서 DataSource와 Delegate 프로토콜말고 남은 한 가지 프로토콜인 UITableVIewDataSourcePrefetching 프로토콜이다. 프로토콜의 이름만 보면 UITableView에서 DataSource를 미리가져오는(Prefetc
클린 아키텍처 예제 소스를 통해 공부하면서 AppFlowCoordinator, OOFtorlowCoordinator 이라는 이름을 갖고 있는 파일들이 있어서 보니깐 앱에서 화면 이동 관련된 부분만 따로 모아뒀길래 나중에 화면이 많아지고 복잡해 질수록 해당 방식을 사용하
UITabBarContoller를 커스텀하여 사용하고 있을 때 Xcode 16으로 빌드하면 tabBar를 선택하면서 화면 전환을 할 때 의도하지 않은 애니메이션이 추가되면서 화면 전환이 발생.또한, 탭 전환 시에 의도하지 않은(다른 특정 상황의) NavigationBa