안드로이드에서는 가속도계 사용 시 SensorManager을 사용합니다. 이와 같이 swift에서는 MotionManager가 존재 합니다. 포스트에서 공유할 내용은 클로저에서 커스텀하게 만든 함수 호출 방식으로 사용하였습니다. var motionManager = CMMotionManager() motionManager을 생성한 후에 sensor() 함수에서 가속도 센서를 시작하게 됩니다. 1234567func sensor(){ // accelerometerUpdateInterval 은 가속도 센서가 호출 간격을 설정하게 됩니다. motionManager.accelerometerUpdateInterval = 0.5 // 가속도 센서를 시작합니다. 가속도 센서의 리스너는 클로저로 처리되며, outputAc..
Swift을 처음 접하였을 때 옵셔널 타입이 나옵니다. 자바로 프로젝트 하다보면 가장 많이 나오는 부분이 "Null Pointer Exception"입니다. 이 옵셔널에 대해서 간단히 설명하겠습니다. Swift인 경우 일반 변수/상수는 nil(null) 대입 불가 합니다. 그래서 나온 타입이 옵셔널 타입입니다. * 옵셔널 타입 : nil을 넣어줄 수 있습니다. 1. 옵셔널 타입을 선언옵셔널 타입을 선언하는 방법에 대해서 설명하겠습니다.nil 값이 될 수 있는 변수/상수에 해당하며 타입 뒤에 물음표(?) 로 선업합니다. 1var value : Int? * 옵셔널 타입의 특징은 1) nil 대입 가능 2) 자동 초기화두 가지로 구성됩니다. 초기 값을 정확히 없을 경우 옵셔널 타입 선언으로 자동..
Swift 에서 Navigation Bar 을 사용하다보면 메인화면에서 Navigation Bar을 숨기고 싶을 때가 있습니다. 이 부분은 다음과 같이 작성할 수 있습니다. [SWIFT3]1234567override func viewWillAppear(_ animated: Bool) { self.navigationController?.setNavigationBarHidden(true, animated: animated)} override func viewWillDisappear(_ animated: Bool) { self.navigationController?.setNavigationBarHidden(false, animated: animated)} View가 화면에 보일 시 Navigation Cont..
안드로이드 개발 뿐만 아니라 자바 스크립트(또는 CSS) 에서 UI 작업 시 색상값으로 지정하여 사용한 적이 많았습니다. 직접 스토리 보드에서 색상값 지정이 아닌 코드에서 작성하는 방법을 공유 하겠습니다. [SWIFT3] 1234567891011121314151617181920212223//색상 값 입력 시 UIColor로 리턴class func hexStringToUIColor (hex:String) -> UIColor { var cString:String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased() if (cString.hasPrefix("#")) { cString.remove(at: cString.startIndex) } i..
어플리케이션에서 가장 많이 사용하는 기능은 알림창(Alert Dialog) 구현일 것입니다. 이런 알림창을 View Controller 마다 소스를 작성하는 것보다 Utils 클래스를 만들어서 구현하는 것이 소스 활용에 도움이 될 것입니다. Utils 클래스의 AlertDialog 생성 소스 공유 드리겠습니다. [SWIFT 3]1234567891011// MARK: 다이얼로그 관련 모듈// Alert Dialogclass func showAlert(viewController: UIViewController?,title: String, msg: String, buttonTitle: String, handler: ((UIAlertAction) -> Swift.Void)?){ let alertControlle..
Effective Java 에서 익숙하게 발견하는 단어가 있습니다. 직렬화(Serializable) 이 직렬화는 과연 무엇일까요? 직렬화 자바에서 객체 안에 저장되어 있는 내용을 파일로 저장하거나 네트워크를 통하여 다른 곳으로 전송하려면 객체를 바이트 형태로 일일이 분해해야 합니다. 이러한 분해하는 과정. 즉, 바이트 단위로 바꿔주는 형태를 직렬화 라고 합니다. 자바는 Serializable 인터페이스를 구현한 클래스만 직렬화할 수 있도록 제한하고 있습니다. private 필드를 포함한 모든 필드를 바이트로 변환해도 좋다는 표시 역활을 합니다. public class XXX implements Serializable{ } 무엇이든 예외가 있듯이 직렬화에도 예외가 있습니다. transient 가 붙은 경우..
실질적으로 RxJava을 사용하는 코드를 공유 하겠습니다. 먼저 소스를 보시면 SampleRepositoryActivity 로 코틀린으로 표현한 소스 입니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455class SampleRepositoryActivity : AppCompatActivity(){ ... // 여러 디스포저블 객체를 관리할 수 있는 CompositeDisposable 객체를 초기화 합니다. interanl val disposables = CompositeDisposable() ... override fun onStop(){ super.onStop() /..
- java
- RXjava
- 고시문
- 코틀린
- Android Studio
- 패턴
- push
- 고시문헬퍼
- 점수판
- 탁구
- DI
- issue
- 안드로이드
- 선교
- 스코어헬퍼
- IOS
- Kotlin
- 알고리즘
- MCC
- IT
- 미션차이나센터
- Android
- swift
- 디자인패턴
- flutter
- view
- missioon
- 임용고시
- missionchina
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |