전체 글
-
ios 개발 아키텍쳐 MVC, MVVMSwift/아키텍쳐 2019. 11. 20. 15:14
아주 예전 처음 시작할때 적었던 패턴 공부... 추후 다시 올려보겠습니다. 처음 어플리케이션은 MVC 구조, 그 다음 애플리케이션은 MVVM으로 결정해 아키텍쳐를 구성했습니다. 이에 대해 말하기 전에, swift의 경우 헷갈릴 수도 있는 부분이 있습니다. 꼭 이해가 필요한 점은 UIViewController 와 UIView가 뷰로 분류된다는 점입니다. 뷰 라이프 사이클과 강력하게 연결되어 있으므로 UIViewController는 뷰 계층으로 분류합니다. 처음 MVC 구조를 선택하게 된 이유 - RxSwift를 사용하고 있지 않았다. (이때 Swift, 데이터 바인딩 관점에서 Rx처럼 효과적으로 바인딩하기 어렵다고 생각했다) - 기존에 리팩토링 기반이 되는 앱이 아키텍쳐가 없었다. (아키텍쳐를 도입하는것 ..
-
Swift 기본문법Swift 2019. 11. 3. 15:29
먼저 swift의 장점은 무엇일까? Swift 장점 쉬운 언어 - 스위프트는 매우 간단합니다. 이를 익히고 나면 같은 함수형 언어인 자바스크립트, 타입스크립트 코틀린, 파이썬등을 금방 사용할 수 있을것입니다. 빠른 컴파일 속도 - 애플의 주장에 따르면 검색 알고리즘 완성 속도가 기존 IOS 개발에 쓰였던 오브젝티브-C(Objective-C)보다는 최대 2.6배, 파이썬 2.7 버전보다는 최대 8.4배 빠르다고 합니다. 매우 중요하죠 OPTIONAL 도입 - 코드중에 프로그램을 가장 불완전하게 만드는 것이 Null, Nil 값에 대한 오류이다. 이 폭탄과 같은 Null, Nil값을 사전에 방지시키고자 하는 것이 Optional 입니다. 따라서 xcode에서 알아서 찾아내주기도 하고 안전성이 매우 올라갑니다..
-
Flutter Native 통신 모듈 만들기 2하이브리드 App/Flutter 2019. 10. 30. 14:36
일단 Flutter의 위젯개념과 생명주기를 조금 이해할 필요가 있다. https://javaexpert.tistory.com/974 [Flutter] Stateful Widget Lifecycle Stateful Widget Lifecycle https://flutterbyexample.com/stateful-widget-lifecycle/#6-didupdatewidget 을 공부해서 요약한 글입니다. 자세한 내용은 원문확인 부탁드립니다. StatefulWidget을 만들때 State 라.. javaexpert.tistory.com 그럼 Start! 필자는 기존의 네이티브 앱에 Flutter를 붙이는 조금 특이하게 시작한 case입니다. 따라서 xcode 기존 프로젝트에 + Pod설치를 마치고 아래와 같..
-
Flutter Native Module만들기 1하이브리드 App/Flutter 2019. 10. 30. 14:06
Flutter 를 기존 Natvie앱에 연결하기 위한 단계(ios) 먼저 flutter 프로젝트/모듈이 있다고 가정하겠습니다. 1. flutter 버전 확인 flutter —version 에서 flutter 1.8.4-pre.21 보다 버전이 낮다면, flutter upgrade 를 해야합니다. flutter upgrade 2. cocoapod이 깔려 있는지 확인, 없으면 install pod —version 3. channel 확인 연결하기 위해서는 master 채널 이어야 합니다. flutter channel 결과가 master가 아닌 경우 아래 명령어로 채널을 변경합니다. flutter channel master 4. 연결하고자 하는 native 프로젝트 폴더로 간다. vim Podfile (없을경..
-
Flutter 설치하이브리드 App/Flutter 2019. 10. 30. 14:03
1. Flutter 설치 아래의 공식문서를 참조한다. 링크에서 최신버전 zip 을 다운로드 받는다. https://flutter.dev/docs/get-started/install/macos 1. 풀고 싶은 폴더에 풀기(아래는 deveopment라고 가정) cd ~/development $ unzip ~/Downloads/flutter_macos_v1.7.8+hotfix.4-stable.zip 2. flutter 툴을 path에 등록한다. export PATH=“$PATH:`pwd`/flutter/bin” 3. 터미널 어느 세션이든 flutter명령어를 사용하기 위해서는 bash_profile에 PATH를 업데이트 하도록 설정해줘야 합니다. vim $HOME/.bah_profile 본인이 저장한 폴더로 ..
-
Swift 꼭 알아야 하는 내용Swift 2019. 10. 30. 11:47
1. Property Observer 값이 변경될때 동작을 수행하게 할 수 있다. Wiliset(값이 저장되기 직전에), didset(값이 저장된 직후에) 값이 동일하더라도 속성의 값이 설정 될때마다 호출 2. 클로저 3. Typealias 4. DispatchQueue 서비스를 날리거나, 통신을 했다면 다 받아오고 나서 할당을 시작하면 되겠죠? 이때 시간이 오래 걸리는 작업을 수행하면서 사용자의 UI는 막지 않고자 할때 사용합니다. 멀티 쓰레드 (학부때 배운 내용과 매우 유사) 작업을 할때 상황에 맞는 큐를 골라야 합니다. Main : serial queue모든 UI는 Main에서 async : 기다리지 말고 바로 해라. Global : concurrent queue 작업의 우선순위를 정해서 이때, u..