본문 바로가기

분류 전체보기70

fibonacci 피보나치 수열은 아래와 같은 특징을 가지고있다 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... 재귀 형태로 호출시 아래와 같이 트리 구조로 호출이 되면 O(n^2) 형태로 표현이 된다 위 그림 처럼 사용시 불필요한 메모리를 차지한다 아래 그림처럼 불 필요 한걸 제거한다면 O(N) 형태로 아래와 같이 코드 작성이 가능하다 function _fibonacci(n, memo) { if ((memo[n] != 0) && (memo[n] != undefined)){ // 기록한거 사용 return memo[n]; } else // 기록이 없을시.. 2022. 5. 23.
간단하게 .Crash Report 정보 확인하기 디버깅할 iPhone 연결 ".txt" file -> ".crash" 바꾼다 Xcode 에서 devices and simulators 열기 device 선택하고 device Log 를 선택 디바이스 윈도우 탭에 .crash file를 drag and drop 기호화된 정보들을 확인 ** 코드와 클래스파일을 알려주지않을수있다 디테일한 정보를 보고싶다면 아래 링크를 참조 출처: https://devureak.tistory.com/16 2021. 2. 2.
iOS .dsym에 대하여 jjhyuk15.medium.com/ios-dsym-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-69516fa7ce99 iOS dSYM 이란 무엇인가 앱스토어에서 크래쉬로 인해 리젝을 당하면 크래쉬 리포트를 함께 준다. 처음 따악 열어보는 순간 이상한 숫자들만 가득한 것을 확인할수 있다. 이럴때 필요한게 바로 dSYM이란 파일이다. 근데 dS jjhyuk15.medium.com 2021. 2. 2.
Xcode Crash Report 파일 복호화 방법 기호화된 Crash Report 파일은 복호화한다면 정확한 에러 위치를 확인 할 수도 있다 복호화 하기위해서는 4가지 종류의 파일이 필요하다 .dsym 파일 symbolicatedcrash .app 파일 .crash 절차는 아래와 같다 1. Crash Report 확장자 crash.txt -> crash.crash 형태로 변경 한다 2. symbolicated 폴더를 만든다 3. crash.crash 파일을 copy symbolicated 폴더에 paste 4. Crash 발생한 Xcode 프로젝트를 열고 xcode -> window -> orgnizer 또는 xcode -> product -> Archive 이동 5. Crash 발생한 빌드를 선택하고 "우 클릭" -> "Show in the Finde.. 2021. 2. 2.
ViewController 제거, rootView 지정 하는법 ViewConroller 를 제거하는건 쉽다 self.dismiss(animated: false, completion: nil) ViewController에서는 view는 스택으로 쌓이게된다 그리고 여러 view 중 rootView 가 존재한다 rootView는 제거가 되지않는 뷰로 이걸 이용해서 몇가지 응용이 가능하다 일단 처음 어플리케이션을 시작을 하게되면 시작되는 ViewController 가 rootViewController 된다 (예를들어 스토리 보드에서 "->" 표시를 가지고있으면 rootView가 될수있다) 1. rootView 를 다른 ViewController로 지정하기 2. rootView를 뺴고 다른 ViewController 제거하기 rootView를 지정하는법은 두가지가 있다 //.. 2021. 1. 28.
ViewController 사이 데이터 이동및 6가지 방법 ViewController 사이 6가지 전송 방법이 있다 property (A -> B) segue (A -> B) property와 함수 (A A(xib) 로 이동할떄 // M class ViewController: UIViewController { @IBAction func nextButton(_ sender: Any) { // 이동할 xib 컨트롤러 변수를 생성하고 해당 컨트롤러 프로퍼티 변수를 초기화 한다음 present로 호출 let vc = xib_AController(nibName: "xib_AController", bundle: nil) vc.tmpInt = 1 self.present(vc, animated: true, completion: nil) } } - 결과 버튼을 클릭했을때 xib.. 2021. 1. 22.