Flow Control 은 코드의 동작의 흐름을 조절할 때에 사용합니다. swift에서도 마찬가지로 조건문이 있습니다. 코드는 위에서 아래로 흐르게 되어있는데 조건문을 만나게 되면 해당 조건에 따라서 코드의 흐름이 제어가 됩니다. if - else if (조건) { // 조건 만족하는 경우, 수행할 코드 }else{ // 조건 만족하지 않는 경우, 수행할 코드 } if 키워드를 사용 후 참, 거짓의 값을 가지는 Bool 타입으로 반환되는 명제나 값을 넣어주면 됩니다. 해당 if (조건) 이 거짓이라면 else 스코프에 있는 코드가 실행됩니다. if 뒤에 조건을 넣을때에 ()가 없어도 됩니다.저는 C++을 계속 사용했다보니 있는게 보기 편하더라구요. let isOneGreaterThanTwo = 1 > 2..
타입추론(type inference) 스위프트에서 제공하는 강력한 기능으로 변수나 상수를 만들 때에 데이터 타입을 생략하게 되면 swift 컴파일러가 변수의 값을 확인하고 그 값에 맞는 타입을 추론하여서 타입을 자동으로 지정해 줍니다. 즉 일일이 데이터 타입 선언 없이도 값에 의해서 데이터 형이 정해지는 것입니다. let price = 1; let name = "minmong" 데이터형을 따로 적어주지 않더라도 price의 데이터 형은 Int, name의 데이터 형은 String이 들어 있는걸 볼 수 있습니다. 데이터 형이 어떻게 선언되었는 확인 하려면 'option' 키를 누르고 변수를 클릭하게 되면 Declaration 창을 이렇게 볼 수 있습니다. 그렇다면 데이터형을 명시적으로 선언하는 방법은 어떻..
변수(Variable)와 상수(Constant) 변수와 상수는 무엇일까요? 변수는 여러 가지 값으로 변할 수 있는 수를 말합니다. 그러면 상수는 무엇일까요? 변하지 않고 항상 같은 값을 가지는 수를 말한다. 이것이 사전적인 의미입니다. 그렇다면 소스 코드에서의 변수란 프로그램 실행 도중에 값이 변경될 수 있는 것을 의미합니다. 상수는 변하지 않고 항상 같은 값을 가지는 수를 의미하기 때문에 프로그램 실행 도중에 변경될 수 없겠죠. var vs. let swift를 접하게 되면 var와 let을 접하게 됩니다. 저도 처음에 보고 생소하였는데요. swift에서는 var 키워드를 사용해서 만든 것을 변수(Variable)라고 하고 let 키워드를 사용해서 만든 것을 상수(Constant)라고 합니다. 기본적으..
안녕하세요 민몽입니다 :) Podfile.lock : No such file or dirctory error 와 같이 발생하는 The sanbox is not in sync with the Podfile.lock 해결 방법 diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. Xcode의 Build Phases에 보면 Check Pods Manifest.lock에서 스크립트가 실행될 ..
안녕하세요 민몽입니다 :) CocoaPods install 후 빌드시 에러 중 Podfile.lock : No such file or directory가 발생 했을 경우 해결 방법입니다. diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. 먼저 Podfile.lock 파일이 정말 생성이 되지 않았을 경우입니다. 해당 CocoaPods directory에 해당 파일이 있는지 확인 합니..
[공부/C++] - C++ 프로그래밍, 네임스페이스 namespace란? C++ 프로그래밍, 네임스페이스 namespace란? 네임스페이스(namespace) 말 그대로 공간의 이름이다. 어떤 공간을 정의하는데 거기에 이름을 정해준다고 생각하자. 네임스페이스가 다르다는 것은 서로 다른 공간에서 존재한다는 것이다. 이름이 다른 공간이니.. minmong.tistory.com 안녕하세요 민몽입니다 :) 오늘은 C++ 프로그래밍 입력(input)에 대해서 공부합시다. 키보드로 받은 입력을 해보자 C 스타일 입력 scnaf char firstEnglish[20]; scanf("%s", firstEnglish); 키보드로부터 스트링을 읽어서 firstEnglish에 넣어준다. 이렇게 사용할 경우 안전하지 않다. ..
안녕하세요 민몽입니다 :) 구글 애드몹 iOS Mediation Test Suite 적용 도중에 cocoapods 관련 명령어 에러 해결 도중 만난 에러입니다. 해결방법 $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer Xcode 와 CommandLineTools 설치 순서가 바껴서 그런거라는 말이 있네요. This problem happens when xcode-select developer directory was pointing to /Library/Developer/CommandLineTools, when a full regular Xcode was required (happens when CommandLineTools are i..
안녕하세요 민몽입니다 :) 오늘은 야나두에서 공부한 기초영어 지각동사에 대해서 같이 공부해봅시다. 영어는 주어 + 동사가 기본인데 여기에 대상을 한 번 붙여 보아요. 주어 + 동사 + 대상 I ate chicken. I saw you I heard you I felt you 위의 문장과 아래 문장의 차이는 무엇일까요? 주어 + 동사 + 대상 구조로 동일한 거 같지만 사실 다릅니다. 위의 문장의 경우 주어 동사를 말하고 말을 이어나갈 경우 전부 주어에 관련된것들이 붙게 됩니다. I ate chicken with some friends at Han River. 나는 한강에서 친구들과 치킨을 먹었다. 이렇게 주어인 나를 중심으로 말이 만들어지고 치킨에 대해서는 궁금하지 않게 됩니다. 물론 치킨을 설명할 수 있..
안녕하세요 민몽입니다 :) 오늘은 'would have pp'에 대해서 같이 알아 봅시다. 저는 조동사 have pp 중에서 제일 느낌잡기가 어려웠습니다. 해당 표현을 알게 되면 이런 말을 할 수가 있어요. would have p.p 아쉬움의 표현 아~ 내가 달려갔었을 텐데. 아~ 내가 걔랑 결혼 했었을 텐데. 아~ 내가 그걸 가져 왔었을 텐데. "~했엇을 텐데" 하려고 했지만 결국 하지 못해서 아쉬워하는 뉘앙스입니다. 예문을 살펴봅시다. 상황 : 늦을줄 몰랐었지 늦을줄 알았으면 I would have run. - 내가 뛰어 갔었을 텐데 (뛰지 않아서 아쉬운 상황) 상황 : 돈이 없었어? 미안 ㅠㅠ 몰랐어 I would have paid. - 내가 냈지 알았으면~ 상황 : 그거 필요 했었어? 나 몰랐어 ..
안녕하세요 민몽입니다 :) 오늘은 Xcode 코드 정렬 단축키에 대해서 알아봅시다. 코드 작업을 하다가 복사 붙여넣기를 하다보면 코드정렬(indent 들여쓰기)이 제대로 안 될 때가 있어요. Tap, Space 로 맞춰주는거도 한계가 있고 귀찮기도 하죠. 방법은 아주 간단 합니다. Xcode 상단 탭의 Editor에서 Structure → Re-Indent 를 눌러주면 코드가 재정렬이 됩니다. 물론 단축키도 있습니다. 원하는 Code 부분을 드래그후 control + i 버튼을 눌러주면 Re-indent가 실행이 되면서 코드정렬이 됩니다.
안녕하세요 민몽입니다. 오늘은 아쉬움의 표현중 하나인 'should have pp'를 같이 공부해봅시다. should have pp를 알게 되면 어떤 말을 할 수 있을까요? 아~ 내가 그거 보냈어야 했는데. 아~ 내가 사실을 말했어야 했는데 아~ 내가 그거 읽었어야 했는데. 이런 말을 할 수 있게 됩니다. should have pp 아쉬움의 표현 ~어야 했는데 결국엔 못해서 아쉬움 should 는 의무를 표현 하죠? (어떤 무엇인가 해야 하는걸) 못해서 아쉬울때 사용해봅시다. 예문을 살펴봅시다. 숙제를 안가져 와서 I should have brought it. - 아진짜 가져 왔어야 했는데 ( 왜 안가져 와 가지고 아아아) 나는 집값이 더 오를줄 알았지 I should have sold it. - 아 그..
네임스페이스(namespace) 말 그대로 공간의 이름이다. 어떤 공간을 정의하는데 거기에 이름을 정해준다고 생각하자. 네임스페이스가 다르다는 것은 서로 다른 공간에서 존재한다는 것이다. 이름이 다른 공간이니까 다른 공간안에 동일한 거 같은 게 있어도 무방하게 된다. 공간 A에 a함수와 공간 B에 a함수는 다르다. 코드를 통해서 이해 해보자. namespace 이름 충돌을 피하기 위해 함수 클래스 기타 등등 namespace hello { void PrintHelloWorld(); } 'hello'라는 공간에 'PrintHelloWorld()' 함수가 존재한다. namespace가 없었을 때에 동일한 함수명을 사용하면 어떻게 될까? //Hello1.h void SayHello(); //Hello2.h v..