
협업 프로젝트를 하다 보면 merge conflict 날 때가 종종 있을 것이다.. 내가 이때까지 경험한 프로젝트는 따로 작업을 한다던가, 혼자 미니 프로젝트를 하는 경우가 많았어서 merge conflict가 가끔가다 나도 그냥 파일을 삭제해버리고 다시 레포에서 clone을 받아오곤 했다.... 하지만.. 더는 그럴 수 없기에 이번 기회로 제대로 병합 충돌을 해결해보고자 한다. 피할 수 없으면 즐겨라...... 우선 병합 충돌이 생기면 이런 경고창이 뜨면서 작업하던 프로젝트 파일이 열리질 않는다 당황하지 말고.. 파일에서 xcode에 실행되는 파일에 패키지 내용 보기를 눌러준다. 그럼 project.pbxproj 파일이 생성되는데 이 파일을 눌러서 수동 병합을 진행해주어야 한다. Project.pbxp..

프로젝트를 진행하면서 아이디, 비밀번호에 대해 정규표현식 검사를 하다가 swift에서 제공해 주는 클래스에 대해서 알게 되었다. 그래서 어떻게 사용하고 어떤 문제점이 있는지 알아보고자 한다~ 공식 문서에서는 데이터 조회(fetch) 또는 메모리 필터링에 대한 검색을 제한하기 위한 논리적 정의라고 설명되어 있다. 사용방법 .evaluate(with: ) : NSPredicate의 메서드이며 정규식을 판별할 때 주로 쓰인다. .evaluate(with:substitutionVariables:) : NSPredicate의 메서드이며 변수를 포함하는 조건자를 생성할 수 있다. 주로 정규 표현식 검사를 할 땐 포맷 지정자를 통해 값을 변환하거나 비교하는 데 사용된다. ✔️ 포맷지정자 포맷 지정자에는 %d, %c,..

이번 스위프트 스터디에서는 면접질문을 바탕으로 swift 문법 공부에 대해 공부하고 포스팅하기로 했다! 질문에 대한 답변을 하고, 위 질문에 대한 주제를 바탕으로 공부한것들을 정리해보는 방식으로 진행하겠다. 첫번째 주제는 optional이다. 질문 답변 1️⃣ Optional Swift에서 옵셔널이란 무엇이며 언제 사용해야 하나요? 옵셔널이란, 값이 있을 수도 있고 없을 수도 있는 변수나 상수(=nil값)를 다룰 때 사용한다. var optionalString: String? = "Hello" 정의하려는 타입뒤에 (?) 물음표를 사용하여 정의한다. 2️⃣ 옵셔널 바인딩 VS 강제 언래핑 옵셔널 바인딩과 강제 언래핑의 차이점은 무엇인가요? → 옵셔널 바인딩은 옵셔널에 값이 있는지 확인하고 값이 있다면 저장..

combine과 observableobject를 사용하여 간단하게 구현해 보고 비교해보려 한다. 2024.03.15 - [Swift] - [swift] Combine & ObservableObject [swift] Combine & ObservableObject 오늘은 swiftUI에서 꼭 알아야 하는 Combine랑 ObservableObject에 대해 차이점과 각 특징들을 비교해보자! Combine 공식문서를 찾아보면 combine은 비동기 작업과 이벤트 처리를 사용자 정의한다고 작성되어 yanni13.tistory.com 이전 포스팅에서 같이 개념을 설명하면서 예제까지 작성하려 했으나 생각보다 길어질 거 같아서 글을 나누었다. 대충 2편이라고 생각해주면 될 듯! 예제 Combine import Co..

문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬한다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 String n return ["sun", "bed..

오늘은 DatePicker와 DateFormatter를 활용하여 TaskEditor를 만들어보자! 주요 기능 task 추가 기능 task 삭제 기능 task 수정 기능 DatePicker를 사용하여 날짜 수정 UI DatePicker DatePicker란, 날짜를 선택하기 위한 컨트롤이다. 애플 공식 문서에 찾아보면 다양한 디자인, 사용방법을 예시로 들어 친절하게 알려준다! 공식문서 링크를 첨부해 둘 테니 참고하시길! - 링크 let dateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateStyle = .short formatter.timeStyle = .none return formatter }() DatePicker..

오늘은 프로그래머스에서 코테를 풀다가 자주 사용되는 Map함수에 대해 정리해보려고 한다. 제대로 개념 정리를 한번 하고 사용하는게 더 효율적으로 사용할 수 있을 거 같다! map? apple 공식문서에는 시퀀스 요소나 컬렉션의 각 요소에 지정된 클로저를 매핑한 결과가 포함된 배열을 반환한다고 정의되어 있다. map() 함수는 배열, 집합, 딕셔너리와 같이 다양한 컬렉션 타입에 사용될 수 있으며 각 요소를 반환하는데 사용된다. 사용 방법 func map(_ transform: (Self.Element) throws -> T) rethrows -> [T] apple 공식문서에는 이렇게 설명되어 있다. transform은 매개변수를 의미하는데 친절하게 설명은 되있지만 스위프트를 시작한 지 얼마 안됐을 때 이게..

오늘은 핀터레스트에서 보던 메인 뷰처럼 구현하기 위해 swiftUI에서 사용하는 LazyVGrid를 활용하여 뷰 구성을 해보겠다! View 우선 내가 구성한 뷰는 이렇다 LazyVGrid가 뭐고 어떻게 쓰는건데!? 라고 할 수 있으니 간단한 설명을 해보겠다. LazyVGrid? VStack처럼 열(Columns) 기반의 그리드 레이아웃을 지연 로딩 방식으로 구현할 때 사용되는 컨테이너라고 한다. 즉, 2차원의 행이 형성되고 세로로 계속 스크롤 할 수 있는 게 특징이다. flexible, adaptive LazyVGrid를 사용할 때 GridItem을 만들때 만들 수 있는 형태가 3가지가 있다. fixed, adaptive, flexible 총 3가지가 있지만, 그중 제일 많이 사용하는 adaptive와 ..
- Total
- Today
- Yesterday
- XCTest
- CoreData
- UIKit
- 병합충돌
- unstructed task
- imagepicker
- 16173
- 클로저
- 코딩테스트
- 백준
- wwdc25
- closure
- rxswift
- 스위프트
- swiftUI
- mlmodel
- foundation models
- Fastlane
- SWIFT
- Xcode
- securefield
- combine
- Task
- group tasks
- detached task
- ios
- ObservableObject
- mergeconflict
- asyne-let
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |