타입추론(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에 해당 파일이 있는지 확인 합니..
안녕하세요 민몽입니다 :) 오늘은 Xcode 코드 정렬 단축키에 대해서 알아봅시다. 코드 작업을 하다가 복사 붙여넣기를 하다보면 코드정렬(indent 들여쓰기)이 제대로 안 될 때가 있어요. Tap, Space 로 맞춰주는거도 한계가 있고 귀찮기도 하죠. 방법은 아주 간단 합니다. Xcode 상단 탭의 Editor에서 Structure → Re-Indent 를 눌러주면 코드가 재정렬이 됩니다. 물론 단축키도 있습니다. 원하는 Code 부분을 드래그후 control + i 버튼을 눌러주면 Re-indent가 실행이 되면서 코드정렬이 됩니다.
Error installing cocoapods 설치 에러 오류 수정 안녕하세요 민몽입니다 :) 맥북의 xcode를 11로 업데이트하려다 보니.. Mac Os 버전이 한참 낮더라고요.. 이전 버전이 10.13이었어요. 그래서 주말에 Mac Os 버전도 10.15로 올리고 xcode도 11로 업데이트 했습니다. 구글 Admob 때문에 처음 접 해보는 cocoapods.. pod 'GoogleMobileAdsMediationTestSuite' 이 넘을 통해서 라이브러리를 설치해야 했는데요. 이전 OS 업데이트 전에 cocoapods을 설치를 해놓은 탓인지 버전을 찾지 못하더라고요. % pod zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Framewo..
iOS 13버전의 등장으로 UIWebView가 완전히 deprecated 되면서 wkwebview로 변경 하여야 한다. WKWebViw경우는 iOS 8 버전이후에 도입 되었다. 두 웹뷰 간의 자세한 차이는 iOS ) UIWebView와 WKWebView의 차이를 한 번 읽어 보자. 기본적인 메소드 변경은 큰 어려움이 없다. 아래 코드는 UIWebView WkWebView 변경시 필수 메서드 변경하는 코드이다. //1) shouldStartLoadWithRequest -> decidePolicyForNavigationAction - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigatio..
MPMoviePlayerViewController 가 iOS 13 에서 공식적으로 deprecated 되면서 AVPlayerViewController로 변경이 필요 하게 되었다 AVPlayerViewController 기본 사용 코드 //플레이어 생성 @property (assign, nonatomic) AVPlayerViewController * playerController; self.playerController = [AVPlayerViewController new]; self.playerController.showsPlaybackControls = NO; //기본 컨트롤러 안보이게 self.playerController.player.actionAtItemEnd = AVPlayerActionAtIt..