본문 바로가기

SWIFT15

[iOS] App Lifecycle( 앱 생명주기) 앱을 개발하다 보면 앱의 생명주기에 따라 어떤 작업을 해야 할 때가 있다. 뭐 기본적으로 앱을 처음 실행시 기본적으로 라이브러리 세팅 등을 해준다. firebase 나 userhabit, ga, 기타..등등 앱의 기본적으로 필요한 세팅 서드파티 라이브러리 세팅 (Firebase, UserHabit, GA) 이런 세팅후 서버 통신을 통해서 앱에 대한 설정값, 또는 version 체크를 통한 강제 업데이트 여부 등을 통해서 정말 이 버전에서 실행을 해도 되는 조건이 맞는지도 체크를 한다. 서버 통신 후 실행 가능한지 여부 체크 서버 통신 후 앱의 기본정보 세팅 Version 체크 (강제 업데이트 여부) 또는 (홈버튼..아 없어졌나..) 하이튼 홈 화면으로 나갔을때 서버에 앱에 대한 정보를 저장해야 할 내용이.. 2019. 11. 27.
[swift Date, DateFormatter] Date->String , String->Date 일때 locale(identifier), TimeZone(abbreviation) 관계 앱을 개발하다 보면 흔지 Date 를 String(년,월,일,오전,오후,시간) 이런식으로 나타내야 할 때가 있다. 클라이언트와 서버와의 통신중 날짜 관련 포맷은 대부분 "2019-03-23T06:29:04.000Z" 이런 식의 포맷을 사용 할 것이다. 우리는 그럼 저 부분을 DateFormatter를 이용해서 date로 바꾸고 또는 년,월,일,오전,오후,시간 이런 식으로 나타낼 것이다. 그리고 UTC 기반이기 때문에 현재 Locale 과 TimeZone에 따라 그 나라에 맞게 아니면 절대적인 값을 표현할 것이다. Locale(로케일)은 세계 여러 나라들은 각자 다른 문화(언어, 날짜, 시간 등)을 갖고 있다. 프로그램의 국제화(Internationalization, 줄여서 i18n)는 사용자로 하여금 프.. 2019. 11. 21.
[Objectvie-c 의 블록] objectvie c 블록[block] 1장. 이 글은 제가 공부했던 것을 정리 했을 뿐이니..혹시 제가 잘못 된 것을 알고 있다면 댓글로 꼭 알려주세요.! Objective-c 블록(block) 먼저 objectvie-c(옵젝) 의 블록에 대해서 알아 보자. 'iOS와 OS X의 메모리 관리와 멀티스레딩 기법" 에서는 블록은 '지역 변수와 함께 동작하는 익명 함수' 라고 정의를 내렸다. 익명 함수란? 말 그대로 이름이 없는 함수를 말한다. 다른 언어에서는 클로저, 또는 람다라고도 말한다. ^ 리턴 타입 (인자 목록) (표현) 예) ^ int (int count) { return count + 1;} 이런식으로 표현이 된다. 변수로 선언을 할 경우 int (^blk)(int) = ^(int count){return count +1}; (아무리 해도 .. 2019. 11. 8.
frame 과 bounds 차이라면..? Swift, Xcode, iOS 개발 요즘엔 storyboard 또는 code로 autolayout 기준으로 UI 작업을 하기 때문에 frame과 bounds는 잘 사용하지 않는다. 하지만 런타임중 어떤 뷰를 생성해야 할 때... 애니메이션을 할 때 필요할 경우가 생긴다. 그럼 간단히 frame과 bounds 기준을 알아 보자. 일단 알아 두자....알면 좋다... frame: frame으로 기준을 잡을 때는 나의 위,, 그러니깐 super view 기준이다. 그 기준 0,0 기준으로 나 자신의 위치가 결정된다. bounds:이건 그냥 온 세상의 중심은 나..내가 중심이다. super view 어찌 됐든지.. 그냥 내가 0.0이다 frame 기준으로는 (50,50) 이어도 bouds는 (0,0)이다 그러니깐 기준이 superview냐.. 아.. 2019. 10. 30.