-
Main event loop 란?iOS/🍎 Documentation 2022. 9. 16. 23:55
세 줄 요약 main thread’s run loop 이 곳에 설치되어 있는 input source 를 통해 사용자의 저수준 이벤트가 들어온다. 이 곳에서 application 은 이벤트 큐에서 받아온 이벤트를 처리한다. run loop 란? run loop 는 두 가지 작업을 하는 event-processing 루프임. 작업을 스케줄링한다. 해당 run loop 에 설치되어 있는 input source 들로부터 나오는 이벤트들을 조정한다. 모든 쓰레드는 각자의 run loop에 접근할 수 있다. main event loop main event loop 는 메인 쓰레드를 위한 run loop 이고, application object 에 의해 자동적으로 동작한다. 이 루프에서 application 은 들어..
-
Xcode command line 명령어에서 사용할 툴체인 선택하기iOS/🛠 이슈와 궁금증 2022. 9. 13. 21:41
Xcode 버전과 툴체인 버전의 관계 Xcode 는 버전별로 스위프트 컴파일러를 포함한 툴체인 버전이 정해져있다. 예를 들어, Xcode 14.0 버전에서는 빌드, 컴파일 시 Swift 5.7 버전을 사용한다. 단, 타겟의 Build Settings 에서 Swift Compiler Language Version 을 4.0, 4.2, 5.0 으로 지정해줄수 있는데 이 부분을 변경하면 어떤 영향을 미치는지 아직 모르겠다. xcrun 과 같은 커맨드라인 명령어에서 사용할 툴체인 지정하기 Xcode 에서는 툴체인이 고정되어 있지만, xcrun 과 같은 커맨드 라인 명령어에서 사용할 툴체인은 따로 지정해줄 수 있다. Xcode 를 통해서 지정하는 방법은 아래와 같다. [Xcode -> Preferences -> ..
-
[UIKit] .xib 사용하기iOS/🛠 이슈와 궁금증 2022. 5. 30. 22:05
안녕하세요 🥷🏻 이번 시간에는 xib 사용법을 정리하려고 합니다. 예시가 되는 상황은 다음과 같습니다. 붉은 색 사각형의 UIView 와 "RED" 라는 UILabel 을 서브뷰로 가지는 UIView 를 재사용하기 위해 RedView.xib 와 RedView.swift 파일을 만들었습니다. 이 xib 를 다른 곳에서 사용하고 싶다면? 크게 두가지 방법이 있습니다. 1. xib 파일의 File's Owner 에 커스텀 클래스를 등록하여 사용하기 2. xib 파일의 뷰에 커스텀 클래스 를 등록하여 사용하기 방법 1. File's Owner 에 커스텀 클래스를 등록하여 사용하기 1. xib 파일의 File's Owner 에 커스텀 클래스를 등록합니다. 2. xib 를 사용할 스토리보드에 UIView 를 원하는..
-
[WWDC 20] Embrace Swift Type InferenceiOS/👨🏻💻 WWDC 와 테크세미나 2022. 5. 23. 01:01
안녕하세요 🥷🏻 이번 시간에는 WWDC 20: Embrace Swift Type Inference 영상을 요약해보았습니다. 그럼 시작해볼게요! 영상의 구성 - Leveraging type inference - How type inference works in compiler - Using Swift and Xcode to fix compiler errors Leveraging type inference 타입 추론을 사용하면 중복되거나 덜 중요한 정보(verbose, incidental) 를 코드에 담지 않을 수 있게 됩니다. 따라서 코드가 깔끔해지고, 생산성이 증가합니다. let text = "" 위의 타입 추론 예시는 아주 간단합니다. "" 라는 String literal 을 통해 컴파일러는 text ..
-
[WWDC 21] ARC in Swift: Basics and beyondiOS/👨🏻💻 WWDC 와 테크세미나 2022. 5. 15. 17:35
요약 👀 ARC 는 오브젝트(인스턴스)의 life time이 끝날 때 deallocate 해준다. 그렇다면 ARC 는 오브젝트의 life time 이 끝난지 어떻게 알수 있는 것일까? Referecne count 를 추적한다. ARC 최적화에 의하여, observed obejct life time 과 guaranteed mininum object life time 이 다를 수 있다. Observed object life time 은 미래에 스위프트 컴파일러 구현에 따라 변동 될 수 있으니, 이것에 의존하는 코드는 잠재적 버그를 포함한 것이므로 가능한 수정해야한다. 키워드 중심 정리 💎 object life time 스위프트에서 object life time 은 사용 기반 ( use-based ) 이다. ..
-
[CS] 유니코드(Unicode)와 UTF-8 (feat. 토스페이스)General/🟢 General 2022. 4. 5. 23:48
자고로 개발자는 유니코드에 대해서 모르면 안된다~ 스폴스키 아저씨의 말에 충격을 받고, 부랴부랴 정리해보았다. 생각해보니 프로그래머로서 유니코드에 대해 많이 접했지만 제대로 개념을 가지고 있지 않고 넘어갔다는 사실에 조금 부끄러웠다😳 유니코드는 중요하지만 개념은 그렇게 어렵지 않았다. 그럼 시작해보자! 문자열 인코딩에 대해 정리한 이전 글을 보면 더 이해가 쉬울수 있다. 이전 글도 조엘 온 소프트웨어와 위키를 참고해 작성하였다. 유니코드 전세계 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 다국어 환경에서 서로 호환이 되지 않던 기존의 문자열 인코딩들의 문제를 해결하였다. 따라서 유니코드는 컴퓨터 소프트웨어의 국제화(I18N) 와 지역화(L10N) 에 널리 사용되었다. ..