iOS (13) 썸네일형 리스트형 [iOS 경고 메시지] nw_connection_add_timestamp_locked_on_nw_queue [C3] Hit maximum timestamp count, will start dropping events 1. 경고 메시지 뜻네트워크 연결에서 최대 타임스탬프 수에 도달하여 이벤트를 삭제하기 시작한다는 의미 서비스의 네트워크 통신이 많은 이벤트를 생성하고 있어서 모든 로그 이벤트를 작성할 수 없다는 경고로 이해하자. "네트워크 연결에서 최대 타임스탬프 수에 도달" 했다는 것은 무엇일까? 일반적으로 시스템(OS)은 네트워크 연결에 대한 세부 정보를 기록하고 추적한다. 이러한 로그들을 통해 우리는 네트워크 연결의 동작을 모니터링하고 분석할 수 있다. 그러나 필요에 의해서 또는 알 수 없는 상황에서 네트워크 활동이 매우 빈번하게 발생하여 로그 데이터가 매우 많이 생길 수가 있는데, 이때 시스템은 최대 타임스탬프를 기록할 수 있는 수를 설정하여, 최대 수를 넘길 경우 더 이상 정보를 처리하지 않게 되어있다. 더 이.. [Xcode Extension] Swift format 설치 ( format on save 적용하기 ) Contents 1. Homebrew 설치하기 2. swiftformat-for-xcode 설치하기 3. swiftformat-for-xcode 활성화 하기 4. Xcode에 format on save 적용하기 코드를 작성할 때, 일관된 코드 스타일을 적용하는 것이 좋다. Xcode 에는 swiftformat이라는 Extension 을 설치하여 적용할 수 있다. code 저장 시, 자동으로 코드의 스타일이 수정되도록 설정할 것이다. 1. Homebrew 설치하기 먼저 swiftformat-for-xcode 를 설치하기 위해 Homebrew 를 설치하자 터미널에서 아래 명령어를 입력해준다. $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Ho.. [Swift] Collection Type - Set 알아보기 목차) 1. Set 이란? 1) 특징 2) 성능 분석 ( vs Array ) [1] 시간 복잡도 [2] Set vs Array 2. 예시 코드 1) 합집합 2) 교집합 3) 차집합 4) 여집합 5) 상위집합 6) 부분집합 1. Set 이란? 1) 특징 Set 은 고유한 값들의 묶음을 나타내는 Collection Type 이다. 중복된 값을 가지지 않고, 고유한 값만을 저장해야 할 때 사용한다. [1] 고유한 값 Set 은 중복된 값을 허용하지 않는다. Set type 에 동일한 값을 여러번 추가해도, 하나의 값만을 저장한다. [2] 순서 없음 Set 은 요소의 순서가 없으며 보장하지 않는다. 그러므로 index 로 요소에 접근할 수 없다. [3] Equatable 프로토콜 준수 Set 은 값들을 비교하기.. [Git] Xcode 프로젝트에 .gitignore 파일 생성하기 1. 프로젝트 디렉토리에서 터미널 열기 gitignore 를 생성할 프로젝트 폴더 위에서 우클릭 → 서비스 → 폴더에서 새로운 터미널 열기 프로젝트 폴더에서 터미널 바로 열기 2. git ignore 파일 생성 $ touch .gitignore 1) touch 명령은 파일의 생성과 파일의 날짜, 시간을 수정하는 명령어이다. 2) 파일이 존재하지 않을 경우 크기가 0인 파일을 생성한다. 3) gitignore 파일은 비어있는 파일로 생성되며, git 으로 추적하지 않을 파일 및 디렉토리를 추가해야 한다. 3. git ignore 파일 생성 ( git 추적 하지 않을 파일 및 디렉토리 추가 ) 따로 커스텀을 할 수도 있지만, github에서 제공해주는 swift gitignore 파일의 내용으로 설정하였다... [SwiftUI] 키보드(keyboard) 활성화 / 비활성화 컨트롤 하기 목차) 1. Keyboard 비활성화 시키기 2. Keyboard 활성화 감지하기 3. Keyboard 비활성화 감지하기 4. 등록한 observer 해제하기 5. extension 으로 적용하기 1. Keyboard 비활성화 시키기 UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil) [코드 설명] 1) UIResponder 프로토콜에서 정의된 resignFirstResponder 메서드에 대한 액션을 보낸다. 2) resignFirstResponder 메서드는 first responder 객체, 일반적으로 텍스트 필드나 텍스트 뷰에서 포커스를 제거하는 역할을 한다... [CocoaPods] 사용 방법 정리 (feat. M1 에서 설치 안되는 에러 해결하기) 목차) 1. CocoaPods 설치 2. 현재 CocoaPods 버전 확인 및 설치 확인 3. 프로젝트에 CocoaPods 초기화 하기 4. 라이브러리 설치하기 feat.) pod 라이브러리 설치 진행시 M1에서 발생하는 에러 해결 방법 CoCoaPods 란? iOS 및 macOS 앱 개발 생태계에서 널리 사용되는 라이브러리 관리 도구 Objective-C 와 Swift 언어를 모두 지원 참고) 모든 명령어는 터미널에서 실행한다. $ 표시는 명령어 입력을 할 수 있는 프롬프트(prompt)임을 나타내는 것이다. 명령어를 가져다 쓸 땐 $ 표시를 제외하고 가져다 쓰면 된다. 1. CocoaPods 설치 $ sudo gem install cocoapods 2. 현재 CocoaPods 버전 확인 및 설치 확인.. [Swift] lazy property 목차) 1. lazy 란? 2. Swift의 lazy 1) var lazy 2) sequence or collection lazy 3. 적절한 lazy 사용하기 1) 주의 사항 4. 예시 코드 1. lazy 란? 'lazy loading' 이라고도 한다. 지연 초기화를 구현하는 키워드로 속성이 처음으로 필요한 시점에 초기화 될 수 있도록 한다. 불필요한 계산이나 자원소모를 피하고, 성능과 메모리 사용을 최적화 할 수 있다. 주로 비용이 많이 드는 작업이나, 자원소비가 큰 초기화를 지연시키기 위해 사용된다. 예를 들어 네트워크 요청이나 파일 로딩과 같은 작업은 필요한 시점에서만 수행 하도록, 'lazy loading' 을 수행하여 불필요한 작업을 방지 할 수 있다. 2. Swift 의 lazy Swift .. [Combine] Subscribe(구독) 의 의미 (Pub-Sub 패턴) 목차) 1. Pub-Sub 패턴 2. Subscribe(구독)의 의미 3. 주로 쓰이는 구독자 생성 방식 - sink() 1. Pub-Sub 패턴 Combine은 Pub-Sub 패턴을 따른다. 구독의 의미를 이해하기 위해 먼저 Pub-Sub 패턴에 대해 간단하게 알아보고 시작하자. · Publish(발행) - Subscribe(구독) 패턴 · 메시지기반 아키텍쳐 패턴 중 하나 · Publisher(발행자)와 Subscriber(구독자)간 메시지 수신 및 처리 · 구독자는 원하는 주제(Subject)에 대한 구독을 등록하여 메시지를 받음 · 주제(Subject)는 발행자(Publisher)가 발행하는 데이터의 종류 또는 주제를 나타낸다. 2. Subscribe(구독)의 의미 구독의 주요 목적은 데이터의 흐.. 이전 1 2 다음