목록개린이 (33)
BOID
안녕하세요 HoonIOS입니다. :) 저번에는 델리게이트에 대해 알아봤습니다. boidevelop.tistory.com/64 [iOS] 델리게이트 패턴이란? - HoonIOS 안녕하세요 HoonIOS입니다. :) 이번에는 iOS의 하나의 디자인 패턴인 델리게이트 패턴에 대해 알아보려고 합니다. 우선 패턴에 대해 알아보겠습니다. 패턴이란? 객체지향 프로그래밍에서는 디자 boidevelop.tistory.com 이번에는 이 델리게이트의 대표적인 예인 텍스트 필드에 델리게이트 패턴을 적용시켜 보겠습니다. 텍스트필드 델리게이트 패턴 구현 기본적인 기능 ( 텍스트 필드 꾸미기, 텍스트 필드 UI 구현)과 같은 것은 직접 구현을 해주면 됩니다. 하지만...! 특정 문자열 입력 배제 시키기, 입력 가능한 길이 제한,..
안녕하세요 HoonIOS입니다. :)이번에는 iOS의 하나의 디자인 패턴인 델리게이트 패턴에 대해 알아보려고 합니다. 우선 패턴에 대해 알아보겠습니다. 패턴이란? 객체지향 프로그래밍에서는 디자인 패턴으로 사용을 합니다. 그럼 디자인 패턴이 뭘까요? 프로그래밍 설계에 관한 문제를 해결하기 위한 해법으로 객체들의 관계를 구조화 한 사례가 일반화된 것이 디자인 패턴입니다. 만약 우리가 프로그래밍 하는데 설계 문제를 해결해야 한다면 디자인 패턴 중에서 적절한 것을 골라 그에 따라 프로그램을 구조화하면 쉽게 해결을 할 수 있습니다. ※ 디자인 패턴의 종류?- iOS에서 사용하는 디자인 패턴은 MVVM, MVC가 대표적으로 있는데요,MVVM - Model, View, View Model로 구성이 된것으로 하나의 프..
안녕하세요. HoonIOS입니다. :) 오늘은 알고리즘을 공부하다가 map, filter에 대해 좀 더 자세하게 알고 싶어서 공부를 좀 했습니다. (-.-) (_ _) (-.-) ※ 고차 함수란? - 매개변수로 함수를 갖는 함수 - 맵, 필터, 리듀스 등이 있습니다. - 이런 고차 함수들은 알고리즘을 공부할 때 readLine을 통해 입력받은 값을 정리하는 데 사용이 되기 때문에 확실히 알고 가는 게 좋을 거 같습니다. 맵(Map) 이란? - 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 결과를 다시 반환하는 함수입니다. - 배열, 딕셔너리, 세트, 옵셔널 등의 환경(?)에서 사용을 할 수 있습니다. - 맵의 원리는 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용을 한 후 다시 ..
안녕하세요 HoonIOS입니다. :) 지금까지 메시지(알림창)인 alert에 대해 포스팅을 했습니다. 근데 메시지를 사용하면 앱이 백그라운드에 있거나 앱이 종료되어있을 때 알림이 가지 않는 단점이 있습니다. . . . 그래서 이번에는 이 단점을 해결할수 있는 로컬 알림에 대해 알아보겠습니다. 로컬 알림이란? - 로컬 알림은 앱 내부에서 만든 특정 메시지를 iOS 알림 센터를 통해 전달하는 방법입니다. - alert와 다르게 앱이 종료되었거나 백그라운드 상태일 때에도 알림 메시지를 전달할 수 있는 특징이 있습니다. - 앱 내부에서 사용자에게 보여줄 메시지를 미리 구성하고 발송될 시각을 iOS 스케줄러에 등록을 해놓으면 자동으로 발송이 되는 형식입니다. - 로컬 알림을 구현할 때 작업은 뷰 컨트롤러가 아닌 ..
안녕하세요! HoonIOS입니다. :) 저번에는 버튼 클로저에 대해 알아봤습니다. 버튼을 눌렀을때의 동작을 구현했는데요 아래 읽고 오시는 걸 추천드립니다. :) boidevelop.tistory.com/56 [iOS] UIAlertController 응용하기 (버튼 클로저) - HoonIOS 안녕하세요 HoonIOS입니다. :) 저번에는 UIAlertController를 구현하는 것을 포스팅해봤습니다. 여기서 응용하는 것이니 기초부터 튼튼하고 오시는 걸 추천드립니다. boidevelop.tistory.com/50 [iOS] 메시지창 boidevelop.tistory.com 이번에는 alert창에 텍스트 필들르 추가하는 방법에 대해 포스팅하겠습니다. 텍스트 필드를 가지는 메시지 창 만들기 - 알림 창은 메..
안녕하세요 HoonIOS입니다. :) ( 우선 포스팅을 하기 전에 여기에 있는 예시 및 조건은 다중스레드가 아닌 단일 스레드에서 컴파일, 실행이 된다고 가정을 하는 것입니다. ) 스위프트는 상당히 안전을 중요하게 생각하는 언어입니다. 그중에서 메모리의 안전한 접근에 위험을 줄이도록 장치를 두었는데요, 그중에 대표적인 것이 변수를 사용하기 전에 initalize를 하고 해제된 메모리에 접근을 할 수 없도록 하는 것이 있습니다. 사실 스위프트는 컴파일러에서 메모리를 자동으로 관리해서 굳이 신경을 쓸 필요가 없는데요. 그 이유는 메모리 접근 충돌이 생길만한 코드를 미리 알려주는 방식으로 관리가 되고 있습니다. 메모리 접근 충돌에 대해 * 메모리에 접근을 하는 방법 3가지 개발자가 변수에 값을 할당 함수의 전달..
안녕하세요 HoonIOS입니다. :) 이번에는 어제 공부한 동적 계획법에 대해 알아보겠습니다. 동적 계획법이란? - 동적 계획법은 큰 의미에서 분할정복과 같은 접근 방식을 의미합니다. - 동적 계획법과 분할정복의 차이가 발생하는 부분은 문제를 나누는 방식입니다. - 예를 들어 cde는 abcde를 해결할때와 cdefg를 해결할때 한 번씩 계산하고 그러면 c, d, e는 각각 세번씩 중복 실행이 됩니다. - 이렇게 계산의 종복횟수는 분할의 깊이가 깊어질수록 더 증가하게 됩니다. 이런 문제를 해결하기 위해서 고안된 알고리즘은 동적계획법 입니다. * 여기서 분할정복이란? - 주어진 경우를 작은 사례로 나뉘고 해답을 구할수 있을 만큼 충분히 더 작은 사례로 나누어 해결하는 방법입니다. - 대표적인 예시로 이진 ..
안녕하세요 HoonIOS입니다. :) 지금까지는 VC1 -> VC2로 값 전달 밑 화면전환에 대해 포스팅을 했는데요. 이번에는 반대로 거꾸로 VC2에서 값을 입력하면 이 값들을 VC1으로 전달하겠습니다. VC1 -> VC2 와 VC2 -> VC1의 다른점 * 첫번째 VC2에 입력을 한다는것은 VC1화면이 만들어져 있고, 인스턴스 역시 만들어져 있다는것을 전제로합니다. 따라서 인스턴스를 새로 만드는게 아니라 현재 존재하는 뷰컨트롤러에서 참조값을 가져와야합니다. 여기서 중요한점은 화면 전환 방식에 따라 사용하는게 달라지는데 프레젠테이션 방식이라면 self.presentingViewController를 사용하여 읽어오고 내비게이션 컨트롤러 방식이라면 self.navigationController?.viewCo..