본문 바로가기

프로그래밍2

[Swift] 옵셔널 체이닝 & Guard 스위프트로 작성된 코드를 보면 30줄도 안되서 ?나 !를 무조건 만날 것이다. 이건 옵셔널에 관한 이야기를 해야한다. 스위프트는 모든 형태가 2가지다. 원래의 이름과 원래의 이름+? 이렇게 두가지다. 예를 들면 String과 String? 이렇게 2가지 형태가 있는 것이다. 이 둘의 차이점은 String?은 nil값을 포함하는 형태이고 String은 nil값을 포함하지 않는 형태이다. 스위프트는 이 두가지의 형태에 매우 엄격하므로 프로그래밍을 할 때 잘 신경써야한다.(두가지 형태는 아예 다른 것으로 봐야한다!) 1. 옵셔널 체이닝 그렇다면 옵셔널 체이닝은 무엇일까? 옵셔널 체이닝은 nil일수도 있는 값을 호출할 때 사용하는 기법이다. 다음의 코드를 먼저 보자. 중요하게 볼 부분은 밑의 두줄이다. hyog.. 2020. 8. 23.
[Swift] ARC의 정의와 발생될 수 있는 문제점 나는 스위프트로 App을 만드는 것을 즐긴다. 하지만 초심자는 "이것이 과연 메모리(ex RAM)에 얼마나 영향(무게)을 줄 것인가"까지 고려하지는 않는다. 눈 앞의 구현도 벅차는게 현실이다. 그럼에도 더 나은 프로그램을 위해 ARC를 알면 좋다. ARC는 램에 영향을 줄이려고 만들어진 체계라고 보면 쉽다. 시작 전에 이 글은 docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html의 내용을 필자가 번역하며 쓴 글임을 밝힌다. 1. ARC란 무엇인가? ARC의 정의는 자동참조 카운팅으로 몇 번 인스턴스가 참조되는 지를 자동으로 파악하는 기술이다. 이것은 현재 스위프트와 Objective-C에서도 사용되고 있다. 인스턴스를 참조한다는 .. 2020. 7. 10.