subscript에서 인덱스를 활용해서 설정이나 얻는것과 관련된 메서드가 필요하지 않고도 값들을 설정하거나 얻을 수 있다.보통 Array나 딕셔너리에서 값을 얻으려면 아래와 같이 써야한다.하나의 타입을 통해 여러개의 subscripts을 정의할 수 있다.그리고 여러 개
공부하다가 CALayer 라는 개념이 나와서 이를 공부해볼 겸 실습도 같이 진행해보았다.공식 문서를 먼저 보도록 하자.An object that manages image-based content and allows you to perform animations on t
App Life Cycle는 중요한 시스템관련 이벤트들을 다루는 곳이며 app이 foreground, background있을 때 시스템 notification이 반응하는 것을 말한다.그러니까 이 사이클에서 각각 상태에 따라 할 수 있는 것과 할 수 없는 것을 App이
캐시는 다음과 같이 이야기할 수 있다데이터나 값을 미리 복사해 놓는 임시 저장소자원을 절약하고 성능 향상을 위해 자주 사용하는 데이터를 임시저장하여 재사용할 수 있는 곳RAM 메모리 (메모리 영역의 일부분을 사용)Disk (파일 형태로 디스크에 저장)RAM에서 메모리
Localization는 여러 언어와 지역을 지원하는 앱을 만드는 것이다.이것이 왜 필요할까?예를 들어 아랍어를 들 수 있다. 아랍어는 다른 언어와 다르게 오른쪽에서 왼쪽으로 읽는다.그래서 만약 Localization으로 각 언어에 대응하여 지원하지 않는다면 아랍어를
frame과 bounds의 차이점에 대해 헷갈릴 수도 있으며 면접질문으로 자주 나오기에 한번 정리를 해보겠다먼저 각각 공식문서를 통해 파악해보자Frame의 정의는 아래와 같다The frame rectangle, which describes the view’s locat
코어데이터를 통해 영구적으로 데이터를 저장하고, 삭제하고, 가져오는 것을 실습으로 해보도록 한다.완성된 모습으로는 위와 같다.데이터를 입력하고 저장하게 되면 이를 메인 테이블 뷰에서 보여주는 방식으로 하며, 이곳에서 삭제를 할 수 있는 구조다.삭제하거나 데이터를 저장했
View, layout를 업데이트 하는 메서드는 대표 4가지가 있다.항상 헷갈려서.. 한번 정리해보는 시간을 가져보려고 한다!setNeedsDisplay()setNeedsLayout()displayIfNeeded()layoutIfNeeded()이에 대해 각각 알아보려고
Swift에서 파라미터는 상수이므로 함수 내부에서 값을 변경할 수 없다.하지만, 이를 변경하고 싶을 때에는 inout 키워드를 활용해서 값을 변경할 수 있다.이는 함수 호출이 종료된 후에도 적용된다.함수가 호출되면 매개변수로 넘겨진 변수가 복사된다.함수 몸체에서 복사한
UIkit과 SwiftUI의 차이점에 대해 알아보도록 하자.2019 wwdc에서 SwiftUI가 처음 나온 이후, 많은 사람들의 관심과 사랑을 받고 있다고 한다.그리하여 기존에 사용하던 UIkit과 SwiftUI의 차이점을 알아보고 그 이유를 찾아보았다.UIKit는 명
해당 Understanding Xcode Build System를 변역해서 올리는 글입니다.저의 글보다 실제 영문을 보시는 것을 더 추천합니다!모든 Swift 프로그램은 실제 기기에서 실행되기 전에 많은 변환이 이루어진다.이 과정은 보통 Xcode Build Syste