7월, 2016의 게시물 표시

스위프트 옵셔널 타입

스위프트 옵셔널 타입이 있다. 옵셔널 타입의 목적은 변수 또는 상수에 아무런 타입의 값이 할당되지 않는 상황을 처리하기 위하여 안전하고 일관된 방법을 제공하는 것이다. 옵셔널하게 변수를 선언하고자 하면 선언부 뒤에 '?' 추가하면 된다. var index:Int? 만약 옵셔널이 할당된 값을 갖는다면 그 값은 옵셔널에 래핑되었다고 한다. 옵셔널에 래핑된 값은 강제 언래핑이라 불리는 개념을 사용하여 접근이 가능해진다. 이는 옵셔널 데이터 타입에서 값을 추출한다는 의미이다. 옵셔널 이름 뒤에 '!' 붙이면 된다. 이 방법 말고 옵셔널 바인딩을 이용하여 임시변수 또는 상수에 할당할 수 있다. if let c = option {  } 용어를 어렵게 사용해서 이해가 잘 가지 않는다. 쉽게 말해 스위프트는 선언할 때 값을 될 수 있으면 할당하라는 말이다. 하지만 변수와 상수는 필요할 때 할당하는게 자원의 활용에 좋을 것이다.  lazy 가 대세가 되는 것도 같은 이유이다. 널 값으로 넣어 두고 할당하려면 '?'를 추가하고 이 값을 사용하려면 '!'를 추가해야 한다는 말인거 같다. 정 특수문자를 쓰기 싫다면 if let c = optional {  } 이 구문으로 임시로 할당해서 사용하라는 것 같다. [출처 : 핵심만 배우는 iOS9 프로그래밍, 닐 스미스, 황반석, 2016.4.25, 페이지 54~57]

error itms-90206 invalid bundle 조치 방법

앱 아카이빙할때 나는 오류이다. error itms-90206 invalid bundle ~~~ 이 경우는 다음과 같이 해결한다. target -> Build Phases 로 이동한다. '+' 버튼을 클릭한다. "New Run Script Phase" 선택한다. 그러면 스크립트를 입력하는 창이 생긴다. 그 창에 다음과 같이 입력하면 된다. cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/" if [[ -d "Frameworks" ]]; then rm -fr Frameworks fi

곡성 영화 해석

영화 곡성에 대한 해석에 대해 의견이 아주 많다. 혹시나 해서 두번을 보았다. 내가 본 해석은 이와 같다. 아이를 구하기 위한 아버지의 행동이다. 사실 버섯에 의해 환각상태에 이르게 되어 살인을 저지르고 결국엔 죽는 내용이다. 조선초에도 궁궐터를 가지고 이런 논쟁이 있었다. 이때 정도전은 이렇게 말했다. 명당이니 이런 것은 예부터 전해 들은 이야기이니 믿으면 안되고 오직 믿어야 할 것은 경험된 이야기입니다. 영화에서 전해 들은 이야기와 상상 이야기 등을 제외하면 사실만 남는다. 사실은 애가 아프면 병원에 가야 하는데...., 그동안 과학이 종교를 가장한 미신와 싸워 어떻게 지금의 자리에 왔는지 잘 살펴보라. 그리고 선과 악의 대결은 양심과 욕심의 대결일 것이다. 영화에선 의심을 하면 악이 힘이 커지고 그냥 믿어라고 강요한다. 진실에 다가가기 위한 가장 큰 도구는 의심이다. 야생 독버섯을 먹은 사람들과 그 재료로 건강식품을 만들어 유통 시킨 사람들의 이야기이다. 자신들의 무지한 행동을 특정 사람 때문이다 라고 하는 희생양을 만드는 것이야말로 인간의 습성인거 같다. 버섯은 알려져 있지 않는 것은 먹으면 안된다고 교육을 받는다. 특히 야생버섯은 무척 위험하다. 결국 곡성은 야생버섯을 함부로 먹지마라 는 영화이다.