1️⃣ 정의 및 기본 구조▶︎ 정의⇒ 클래스의 인스턴스를 하나만 생성하여 전역적으로 사용하는 디자인 패턴▶︎ 기본 구조class MySingleton { // 1. static 키워드 사용하여 전역 인스턴스 생성 static let shared = MySingleton() // 2. 다른 곳에서 추가 인스턴스 생성 방지 private init() {} // 3. 기타 코드 작성 // 예시) let myName: String = "유림"}class Test { // 다른 클래스에서 MySingleton에 접근 가능함 //let mySingleton = MySingleton() //mySingleton.myName print(MySi..
Swift/문법
🔗 왕초보를 위한 Git 명령어 모음집 (링크) 🟥 프로젝트 처음 시작할 때 팀장이 세팅할 것 1단계: git 세팅 1. 프로젝트 폴더 생성 2. 초기 코드 작성 3. 깃 초기화, 저장 git init git add . git commit -m "메시지" 4. 깃헙 레포지토리 생성 5. 깃헙 업로드 git remote add origin // 깃헙 주소를 origin이라는 이름으로 저장 git branch -M main // 현재 브랜치명(master)을 main으로 바꾼다(관례) git push -u origin main // 'git push'라고만 해도 git push origin main이 실행되도록 함 2단계: 브랜치 세팅 1. 로컬에서 dev 브랜치 생성 (main은 최종본이므로 dev에서 개..
브랜치를 사용하는 이유: 브랜치를 만든다는 것은, 프로젝트의 사본을 만드는 것과 유사하다. 그렇다면 사본을 왜 만들어야 할까? 1. 협업할 때 용이하다. 민수와 민지가 함께 어플을 만드는데, 각각 기능 A, B를 개발해야 한다고 하자. 코드를 짜며 상시적으로 저장하고 백업을 할텐데, 두 명 다 원본 파일로 백업을 시도한다면 충돌이 발생한다. 따라서 민수와 민지는 각자 사본에서 기능 개발을 완료한 이후에 서로의 코드를 합쳐야 한다. 2. 프로젝트 버전을 업데이트 할 때 용이하다. 시장에 프로젝트ver1이 출시되어 있고, 업데이트를 위해 ver2를 작업중인 상황에서 ver1을 이용중인 사용자에게서 오류가 보고될 수 있다. 코드에서 오류를 수정해야 할텐데, 만약 ver1 코드를 남겨두지 않았다면 ver2 코드..
🎡 정의 ▶️ Git : 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것 ▶️ Github : 백업, 공유, 협업이 가능한 온라인 코드 저장소 🔎 Git 사용 방법 1. 터미널 열기 1-1. 폴더 생성하기 깃은 폴더 단위로 사용할 수 있으므로, git으로 관리할 '프로젝트 폴더'를 먼저 생성해야 한다. 1-2. 프로젝트 파일 생성 및 코드 작성하기 1-1에서 생성한 폴더 안에 프로젝트 파일을 생성하여 코드를 작성한다. 1-3. 터미널 열기 작업 중인 폴더를 우클릭하고 "폴더에서 새로운 터미널 열기"를 선택한다. 2. 깃 초기화 및 저장하기 2-1. 깃 초기화 >> git init 새 프로젝트에서 깃을 시작하려면 초기화를 해줘야 하는데, 처음 한 번만 하면 된다. (한 번 초기화를 했으면 터미널을 ..
📌 prefix(_:) : 앞에서부터 n글자 추출 1. 정의: collection의 요소를 앞에서부터 n개까지 담은 subsequence를 반환한다. 2. 파라미터: maxLength 파라미터는 최대로 반환할 문자열 길이를 의미한다. 0 이상의 수이어야 한다. 3. maxLength가 collection의 요소 수보다 큰 경우, 결과값은 collection의 모든 요소를 포함한다. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" 4. 예제 var strFeelings = "happy, sad, frustrated" var ar..
참고: 함수 기본(테크연), 클로저(개발자 소들이) 🟥 클로저란? ▶️ 정의 및 문법 - 정의: "어떤 태스크를 수행하기 위한 코드 블럭"으로, 함수와 유사하다. - 문법: { 클로저 선언부 in 클로저 실행부 } 의 형태로 작성한다. 클로져 선언부: 파라미터와 리턴타입 명시 클로져 실행부: 실행 코드 작성 { (parameters) -> returnType in statements } - Swift에서는 클로져, 함수를 타입으로 사용할 수 있다. -> 따라서, 변수에 할당할 수 있고, 다른 함수 파라미터로 전달할 수도 있다. (aka. First Citizen) ▶️ 함수 vs 클로저 함수는 이름이 정의되지만, 클로저는 이름이 없다. "hello"를 출력하는 함수와 클로저를 다음과 같이 작성하고 실행할..