분류 전체보기 (21) 썸네일형 리스트형 [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 버전 확인 및 설치 확인.. [디자인 패턴] 싱글톤 패턴(Singleton Pattern) 이란? 목차) 1. 개요 2. 특징 (장점) 1) 하나의 인스턴스 2) 전역적인 접근 및 상태 공유 3) 지연 초기화 4) 의존성 관리 3. 적용 시 주의사항 (단점) 1) 전역상태 관리 2) 결합도 증가 3) 메모리 누수(memory leak) 4. Singleton 인스턴스 생성하기 1) Swift 2) Javascript 1. 개요 소프트웨어 디자인 패턴 중 하나로, 어떤 class의 인스턴스가 오직 하나만 생성되고 이에 대한 전역적인 접근이 가능하도록 만드는 패턴이다. 전역상태를 공유하거나 인스턴스가 여러개 생성되는 것을 방지하기 위해 사용된다. 디자인패턴은 목적에 따라 크게 생성, 행동, 구조로 나누어진다. 싱글톤 패턴은 '인스턴스 생성'이 목적이므로 '생성' 패턴으로 분류한다. 디자인패턴을 목적에 .. [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 .. [Git] Remote 조회 / 추가 / 삭제 명령어 1. Remote 조회 git remote -v git remote 조회 [추가 설명] 1) origin 원격 저장소의 별칭으로 지정된 별칭이기 때문에 다른 이름으로 지정할 수 있다. 예를 들어 해당 저장소를 테스트를 위한 용도로 쓴다면 dev-environment 로 변경할 수 있다. 변경이 된다면 아래와 같이 push를 해야한다. ex) git push dev-environment 2) fetch 원격저장소의 최신 저장 이력만 가지고 온다. 원격저장소와 로컬저장소와의 차이를 확인하는 명령어이다. 주의할 점은 변경된 이력만 확인하기 때문에 로컬저장소의 내용은 업데이트 하지 않는다. 변경 이력 확인 후: git fetch 로컬저장소에 원격저장소 변경 내용 반영: git pull ex) git fetch .. [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(구독)의 의미 구독의 주요 목적은 데이터의 흐.. [Combine] append(_:) 의 3가지 사용방법 분류 Combine Framework Publishers Protocol Publisher Operator Applying Sequence Operations to Elements Append(_:) [ 첫번째 ]: 가변인자로 여러개의 요소를 인자로 받아 append() 처리 후 발행 하는 경우 func append(_ elements: Self.Output...) -> Publishers.Concatenate 설명 [코드] func append(numbers:Int...){ cancellable = numbers.publisher .append(100, 200, 300) .sink { print("\($0)") } } //실행 append(numbers: 1,2,3,4,5) // 결과: "1 2 3 4.. 이전 1 2 3 다음