본문 바로가기

728x90

전체 글

(104)
개행(\n) 없이 두 줄 이상의 문자열 할당하기 보통 문자열을 표현 할 때, 앞뒤로 " (큰따옴표)를 붙여서 문자열을 만든다. 이때 개행을 하려하면 문자열 중간중간에 \n(newLine)을 삽입해줘야 하는데 , \n삽입 없이 큰따옴표 세개를 앞뒤에 붙이면 따로 개행문자를 넣지 않고도 똑같은 표현이 가능하다. 들여쓰기는 마지막 큰따옴표에서 왼쪽 정렬기준으로 보면되는데 아래 그림을 보면 이해하기 쉽다. 아래 그림은 print를 통해 문자열을 콘솔로 나타냈다.
Swift Package 써보기 (feat * XCode13) 이전까지는 SwiftPackage에 대해 잘 모르고 있었는데 , 이번 WWDC2021에서 SwiftPackage 를 소개 하길래 제대로 알게됐다. 보니까 Cocoapods의 Library의존성관리 역할을 xcode에서 지원하는 역할로 보인다. ㅇㅇ 맞다. 난 xcode13beta버전을 받아서 확인해봤다. 지금까지 릴리즈된 xcode에는 지금과 같은 GUI가 아닐수 있으니 참고. 일단 하나의 Library를 새 프로젝트에 추가해보겠다. 추가할 라이브러리는 Alamofire 시작해보자. 아래 세가지 경로로 Package 검색창을 띄울 수 있다. 1. File-> Add Packages 2. TARGETS-> Frameworks, Libraries, and Embedded Content 3. swift파일에서..
DerivedData 삭제 Xcode를 사용하다보면 가끔 프로젝트의 캐시된 데이터가 문제를 발생시킬 때도 있다. 정확히는 그 문제가 뭐였는지 기억은 잘 안나지만 해당 문제를 해결하기 위해 DerviedData를 삭제해보라는 조언들을 찾아볼 수 있었다. 뭐만하면 다 지우라한다... 실제로 DerivedData폴더를 삭제하고 문제가 해결된것을 겪은적이 있었는데, DerivedData는 Xcode를 사용하면서 발생하는 부산물이라 해야할까, 각종 프로젝트를 진행하며 저장된 파일들이 넘쳐난다. 맥 용량관리 차원에서도 DerivedData폴더를 삭제해주기도 한다. DerivedData의 하위 폴더들은 프로젝트를 build하면 다시 생겨나므로 삭제해도 큰 문제가 없다. 어떤 블로그의 경험담을 보면 DerivedData폴더의 하위 폴더들을 삭제..
PhaseScriptExecution failed with a nonzero exit code Release 를 위해 Archive를 시도 하는 중 에러 발생 에러문구 “PhaseScriptExecution failed with a nonzero exit code” 위 문구와 함께 수십줄의 로그가 함께 나타나는데, 보기도 힘든 파일의 경로 로그들과 어쩌구 저쩌구 pod으로 추가한 lib들을 거론한다. 당황하여 내가 pod으로 추가한 lib들이 문제인가 싶지만 의외로 해결법은 간단했다. Solution 로그에서 .sh파일의 이름과 경로를 찾는다. Terminal을 실행해서 해당 파일의 경로로 이동하고 chmod +x 파일의 이름.sh 입력해준다. 그러고 다시 시도하면 잘 작동한다. PS1 더 검색을 해봤는데 Build Phases의 For install builds only에 체크를 해두면 해결이 ..
String Extension 문자열 자르기1 extension String { func substring(from: Int, to: Int) -> String { guard count > from, from >= 0, to >= from else { return "" } let startIndex = index(self.startIndex, offsetBy: from) let endIndex = index(self.startIndex, offsetBy: to + 1) return String(self[startIndex.. Character { return self[self.index(self.startIndex, offsetBy: index)] } subscript(_ range: Range) -> String { let from..
[자료구조] 스택 바로 이전에 공부한 Queue가 FIFO(First In First Out)의 선입선출 방식이라면, 스택은 LIFO(Last In First Out)의 후입선출 방식이다. 스택을 떠올리면 무언가를 쌓는 이미지를 보통 연상하게 되는데 , 요소를 순서대로 밀어넣고(Push) 빼는(Pop) 동작을 수행할 수 있다. Push Push는 아래 그림과 같이 하나 하나 요소를 밀어넣는다. 1 뒤에 2를 push한 후 다음 push연산이 발생하는 위치는 2의 뒤가 되겠다. 이렇게 항상 마지막 요소에서 연산이 일어나는것이 Stack의 특징이다. Pop 그림으로 본다면 간단하지 그지없다. 위에서 Push가 하나하나 요소를 밀어넣었다면 이번에는 반대로 하나씩 끄집어 내는 연산을 하는것이다. push와 같이 요소를 꺼내는것 ..

728x90