목록ios (85)
BOID
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bp2XSh/btq16z16SJ9/0NM8zNSvnY4FSQDzfr6ku0/img.png)
안녕하세요 HoonIOS입니다. :) 앱을 개발하다 보면은 사용자한테 메시지를 전달하고 싶은 내용이 있습니다. 때론 사용자에게 명시적인 메시지를 전달해야 될 때가 있습니다. 예를 들어 .... 서버 점검을 한다고 알린다거나 오랫동안 접속을 안 했을 시 초대 알림을 보낸다는 등이 있습니다. 이렇게 사용자한테 메시지를 전달하는 방법은 총 3가지가 있습니다. 메시지(알림창) - alert 로컬 알림 - UserNotification 서버 알림(푸시 알림) - APNs 메시지 창이란? - 메시 자창은 사각형 박스 안에서 버튼을 눌러 의사를 표현하도록 하는 창이 알림 창입니다. - 메시지 창은 한 가지 단점이 있는데 바로 앱이 실행 중일 때만 동작을 한다는 점입니다. 즉 사용자에게 바로바로 메시지를 전달해야 할 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dVl0Nz/btq17ZMs1xt/2HnnnINifRTUdc1EMZodI1/img.png)
안녕하세요 HoonIOS입니다. :) 후처리인 defer에 대해 알아보겠습니다. 크게 defer는 코드 블록을 나가기 전에 무조건 꼭! 꼭! 꼭! 실행되는 코드라고 생각하시면 됩니다. defer란? - defer구문을 사용하면 현재 있는 코드 블록을 빠져나가기 전에 꼭 실행해야 하는 코드를 작성해줄 수 있습니다. - defer구문의 특징은 오류가 발생해서 코드블록을코드 블록을 나가든, 정상적으로 코드 블록을 나가든 defer구문은 코드가 블록을 빠져나가기 전에 무조건 실행이 됩니다. ( 따라서 만약 파일을 열고 사용하고 있다가 에러가 발생해서 코드가 블록을 빠져나가게 되면 그전에 그 파일을 정상적으로 닫아 메모리 해제를 해야 되는데 그때 defer구문 내부의 코드를 실행시켜 정상적으로 메모리를 해제시켜줄..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bz1aTZ/btq16tfNSWH/trJtGjrENz4YqkqT1KDkOk/img.png)
안녕하세요 HoonIOS입니다. :) 저번에는 try를 통한 오류를 처리하는 방법과 do-catch문을 통해 오류를 잡는 부분에 대해 알아봤습니다. boidevelop.tistory.com/40 [swift] 함수에서 발생한 오류 알리기(try ,try! ,try? , do - catch) - HoonIOS 안녕하세요 HoonIOS입니다. :) 저번에는 오류처리의 정의와 Error 프로토콜, throw에 대해 알아봤습니다. 이제는 오류를 처리하는 방법인 try, try?, try!, Do - catch에 대해 알아보겠습니다. 함수에서 발생 boidevelop.tistory.com 이번에는 다시 던지는 rethrows키워드에 대해 알아보겠습니다. 다시 던지기 (rethrows) - 함수나 메서드 rethr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBQreb/btq16zmdkMx/mo0GtDVhw2486kGRPxILKK/img.gif)
안녕하세요 HoonIOS입니다. :) 이번에는 코코아 터치 프레임워크에서 제공하는 UserDefaults객체로 값을 주고받는 방법에 대해 포스팅을 하겠습니다. UserDefaults 특징 & 저장 가능 타입 - UserDefaults로 값을 저장하면 앱이 삭제되지 않은 이상 값은 사라지지 않는 반영구적으로 유지가 된다는 장점을 가지고 있습니다. - 로그인 여부, 설정 정보등 간단한 것을 저장하는 경우가 많습니다. - UserDefaults객체는 plist파일을 이용하여 값을 내부적으로 저장하는데 NSDate, NSString, NSNumber, NSData, NSArray, NSDictionary클래스 타입, 스위프트에서 제공하는 기본 자료형까지 객체에 그대로 저장할 수 있습니다. * NSDate, NS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cben60/btq12vEMEpU/yZeoFfNKDufIazsou2RuuK/img.gif)
안녕하세요 HoonIOS입니다. :) 비동기 방식인 저장소를 이용하여 값을 주고받는 방법에 대해 포스팅하겠습니다. 비동기 방식 중에서 Appdelegate, 코코아 터치 프레임워크에서 제공하는 UserDefaults객체 두 개에 대해서 포스팅하려고 하는데 지금은 Appdelegate 다음에는 UserDefaults로 값 전달하는 방식에 대해 설명하겠습니다. -코코아 터치 프레임워크에는 값을 반영구적으로 저장할수 있도록 UserDefaults객체(NSUserDefaults)와 코어 데이터(Core Data)를 제공합니다. * 우선 간단하게 UserDefaults와 코어데이터를 설명하면 - UserDefaults객체는 비교적 간단한 데이터를 저장하는데 사용되고 코어데이터 객체는 소규모 데이터베이스처럼 다소 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IV7sq/btq15Z52jTY/N1h8cp16SZWA8pyioDCV30/img.png)
안녕하세요 HoonIOS입니다. :) 이번에는 어제 공부한 동적 계획법에 대해 알아보겠습니다. 동적 계획법이란? - 동적 계획법은 큰 의미에서 분할정복과 같은 접근 방식을 의미합니다. - 동적 계획법과 분할정복의 차이가 발생하는 부분은 문제를 나누는 방식입니다. - 예를 들어 cde는 abcde를 해결할때와 cdefg를 해결할때 한 번씩 계산하고 그러면 c, d, e는 각각 세번씩 중복 실행이 됩니다. - 이렇게 계산의 종복횟수는 분할의 깊이가 깊어질수록 더 증가하게 됩니다. 이런 문제를 해결하기 위해서 고안된 알고리즘은 동적계획법 입니다. * 여기서 분할정복이란? - 주어진 경우를 작은 사례로 나뉘고 해답을 구할수 있을 만큼 충분히 더 작은 사례로 나누어 해결하는 방법입니다. - 대표적인 예시로 이진 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MLd8E/btq1V15JIrO/t8dJbA3kVDrb5qlRXV1HE1/img.png)
안녕하세요 HoonIOS입니다. :) 저번에는 오류처리의 정의와 Error 프로토콜, throw에 대해 알아봤습니다. 이제는 오류를 처리하는 방법인 try, try?, try!, Do - catch에 대해 알아보겠습니다. 함수에서 발생한 오류 알리기 - 함수에서 발생한 오류를 해당 함수를 호출한 코드에게 알려주는 방법입니다. - 함수가 오류를 던지면 프로그램의 흐름이 바뀔 가능성이 매우 큽니다. 따라서 오류를 어디서 던지고 받을지 결정을 잘해주어야 합니다. * throw를 이용하여 던진 오류를 try를 이용해서 그 오류를 있는 것은 알지만 시도는 해볼게라는 의미입니다. - try는 try, try!, try?를 통해서 표현을 할 수 있습니다. 따라서 이 3종류에 대한 특징을 알아보겠습니다. 종류 특징 t..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yJbnz/btq1R9wgpc7/UBjG1P5yDEI117UWkxG3qk/img.png)
안녕하세요 HoonIOS입니다. :) 이번 포스팅에는 오류처리에 대해 알아보겠습니다. :) 프로그램에서 우리가 기능을 구현했으면 그 기능들이 우리가 원하는 대로 무조건 100% 정확하게 동작한다는 보장이 없습니다. 오류는 충분히 생길 수가 있지만 앱이 그냥 종료되는 것을 방지하기 위해서 오류 처리 기능을 사용합니다. 오류처리 기능을 통해 이런 상황들을 구별하여 프로그램 자체적으로도 오류를 해결할 수 있고, 사용자와 상호작용을 통해 오류를 풀어나가는 방향으로 제어를 할 수도 있습니다. 이제부터 오류처리하는것에 대해 설명을 해보겠습니다. 오류처리 정의란? - Apple documentation에서 Error protocol의 의미로 throw 할 수 있는 에러 값을 나타내는 타입입니다. - 오류처리는 프로그..