
프로그래밍 알고리즘 패턴은 다양합니다. 다양한 알고리즘 패턴 중 하나인 MVP 패턴에 대해서 알아보겠습니다. 더 나아가 MVC(Model-View-Controller) 패턴과 유사한 MVP을 왜 사용하며 어떻게 사용하는지 나누겠습니다. MVP 이란? MVP 은 Model-View-Presenter 로 구성됩니다. MVP가 나오게 된 이유는 View와 Model을 완전한 분리해서 사용하기 위해서 입니다. MVP는 Model의 역할인 비즈니스 로직을 독립적으로 테스트할 수 있습니다. MVP 패턴의 각 구성에 대해서 자세히 알아보겠습니다. MVP 패턴 구성 요소 MVP 모델은 Model-View-Presenter 로 구성됩니다. ■ 뷰(View) The view is a passive interface tha..
다양한 부분에서 활용하는 패턴인 싱글턴 패턴에 대해서 알아보고 Swift에서는 어떻게 싱글턴 패턴을 구현하는지 공유하겠습니다. 싱글턴 패턴(Singleton pattern)싱글턴으로 구현된 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이며, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 요약하자면, 하나의 객체가 생성되어 재활용 하는 패턴을 의미합니다. Object-C 에서의 싱글턴object-c 에서는 싱글턴 패턴을 구현할 때에 dispatch_once_t 을 사용합니다. void dispatch_once(dispatch_once_t *predicate, dispatch_block_t block); Q. dispatch_once_t 무엇인가? A. ..
Realm 플랫폼의 핵심 개념은 Realm 이라는 가벼운 객체 컨테이너입니다. 데이터베이스에서처럼 Realm의 데이터는 쿼리, 필터링, 상호 연결이 가능하고 저장이 됩니다. 반면 기존 데이터베이스와는 달리 Realm의 객체는 라이브 오브젝트이고 완전히 반응형입니다. 또한, Realm은 기기와 애플리케이션 사이에서 매끄럽게 동기화되며 스레드에서 안전하게 접근할 수 있습니다. 이번 시간 Realm 에 대해서 간단한 샘플 프로젝트를 공유 하려고 합니다. Realm 설치Realm을 사용한 프로젝트에서 사용한 기능은 조회, 추가, 삭제, 수정으로 Realm을 사용하는데 필요한 기능을 구현하였습니다. 1. CocoaPods 0.39.9 버전 또는 그 상위버전을 설치 합니다.2. CocoaPods가 최신 Realm ..
App과 App 사이의 정보를 주고 받을 수 있는 방법은 다양하게 있습니다. SharedPreferences, 콘텐트 프로바이더, SQLite, BroadcastReceiver, intent, 등 여러 방식으로 App 간의 데이터를 주고 받을 수 있습니다. 이전에는 SharedPreferences 을 활용하여 간단하게 주고 받을 수 있었습니다.// SharedPreferences 을 공용으로 사용할 수 있는 소스코드 Context _context = null; try { _context = createPackageContext("send target application package name", Context.CONTEXT_IGNORE_SECURITY); } catch (PackageManager.Na..
교육관련 앱을 사용하다보면 동영상 강좌를 볼 때에 화면이 전환되는 것을 확인할 수 있습니다. iOS에서는 어떻게 화면 전환하는지 알아보겠습니다. AppDelegate 설정AppDelegate 부분에서 다음 함수인 UIInterfaceOrientationMask 을 지정하여 화면을 설정합니다. application(_, supportedInterfaceOrientationsFor) 은 화면 전화에 대한 Delegate 부분으로 자세한 내용은 AppleDeveloper 에서 확인할 수 있습니다.12345678var orientationLock = UIInterfaceOrientationMask.portrait func application(_ application: UIApplication, supporte..
Webview는 앱 기능 중 필수라고 할 수 있습니다. 하이브리드 앱에서 특히 많이 사용하고 있는 Webview를 공유하겠습니다.Swift 에서는 Webview 사용 시 UIWebView을 사용하였습니다. 그러다 ios 11 버전부터는 Webkit 이라는 위젯이 등장합니다. UIWebview에서 WebKit으로 변경되었지만 소스 변경은 많이 되지 않았기에 소스 업데이트에 대한 걱정은 없었습니다. 버전에 따른 WebView공유드릴 내용은 버전에 따른 WebView 호출입니다. Xcode로 웹뷰 구현 하다보면 WebKit은 ios11버전 이상에서만 사용 가능하다고 제한을 걸었습니다. Apple Developer에서는 "Webkit 최소 버전은 ios 8 이상부터 지원한다"고 명시하고 있습니다. 차후에 UIW..
이번 포스팅은 Swift에서 가장 많이 사용하는 AlertController 에서 발생했던 이슈를 소개하려고 합니다. 보통 AlertController은 다음과 같이 사용할 것입니다. 아이폰에서는 정상 동작하지만 태블릿에서는 다음과 같은 에러가 발생합니다. *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Your application has presented a UIAlertController () of style UIAlertControllerStyleActionSheet. The modalPresentationStyle of a UIAlertController with this style is UIModalPre..
앱 스토어 등록 과정 중 Distribution 에러가 발생하는 경우 대응 방법에 대해서 말씀드리겠습니다.앱 스토어 등록 과정은 Xcode > Product > Archive > Updated to App Store 으로 진행으로 앱스토어에 등록하게 됩니다.저도 위와 같은 방법으로 진행하였으나 밑에 그림처럼 Distribution 가 없다는 이슈가 발생하였습니다. 작업환경인 Mac Book 에 Distribution 이 없다는 것을 확인 하려면 "키체인"을 실행하여 확인할 수 있습니다. 키체인 > 로그인 > 내 인증서 (카테고리) 이곳에 자신이 등록한 Developer 인증서와 Distribution 이 있는지 확인합니다. 만약 없다면, Distribution 등록 된 작업 환경에서 해당 Distribu..
- issue
- Android Studio
- Android
- view
- 고시문
- MCC
- Kotlin
- 임용고시
- missionchina
- 스코어헬퍼
- 알고리즘
- java
- 코틀린
- 탁구
- flutter
- 미션차이나센터
- IT
- IOS
- 안드로이드
- 패턴
- push
- RXjava
- DI
- missioon
- 선교
- 디자인패턴
- 고시문헬퍼
- swift
- 점수판
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |