반응형 앱/iOS7 Swift - ARC ARC(Automatic Reference Counting)란? ARC는 자동으로 메모리를 관리해주는 방식으로 더 이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작한다. 따라서, 프로그래머가 메모리 관리에 신경을 덜 쓸 수 있어 편리함을 제공한다. ARC가 관리하는 참조 횟수 계산(Reference Counting)은 참조 타입인 클래스의 인스턴스에만 적용된다. 구조체와 열거형같은 값 타입은 참조 횟수 계산과 무관하다. Swift에서는 ARC를 사용하지만, 자바 등 다른 프로그래밍 언어에서는 메모리 관리 기법으로 가비지 컬렉션(Garbage Collection)을 사용한다. 아래는 ARC와 가비지 컬렉션의 차이를 표로 나타낸 것이다. 가장 큰 차이점은 참조를 계산하는 시점이다. 이.. 2022. 1. 31. Swift - 모나드 Swift의 모나드가 갖춰야 하는 조건은 다음과 같다 타입을 인자로 받는 타입(특정 타입의 값을 포장) 특정 타입의 값을 포장한 것을 반환하는 함수(메소드)가 존재 포장된 값을 변환하여 같은 형태로 포장하는 함수(메소드)가 존재 무슨 말인지 하나도 이해가 안 갈 것이다. 모나드를 이해하는 출발점은 값을 어딘가에 포장하는 개념을 이해하는 것부터 출발한다. 스위프트에서 모나드를 사용한 예시 중 하나가 옵셔널이다. 따라서, 옵셔널을 파헤쳐보며 컨텍스트, 함수객체를 이해한 뒤 모나드를 다시 알아본다. 컨텍스트 컨텍스트(Context)의 사전적 정의는 '맥락', '문맥' 등이다. 이번 파트에서 컨텍스트는 '컨텐츠(Contents)를 담은 무언가'를 의미한다. 즉, 물컵에 물이 담겨있는 상황에서 물은 컨텐츠이고 물.. 2022. 1. 22. Swift의 연산자 스위프트의 연산자는 특정한 문자로 표현한 함수, 따라서 특정 연산자의 역할을 프로그래머의 의도대로 변경할 수 있다. 다른 언어와 유사한 연산자에 대한 설명은 생략하였다. 1. 연산자의 분류 분류 설명 예시 단항 연산자 피연산자가 한 개인 연산자 !A 이항 연산자 피연산자가 두 개인 연산자 A + B 삼항 연산자 피연산자가 세 개인 연산자 A ? B : C 전위 연산자 연산자가 피연산자 앞에 위치하는 연산자 !A 중위 연산자 연산자가 피연산자 사이에 위치하는 연산자 A + B 후위 연산자 연산자가 피연산자 뒤에 위치하는 연산자 A! ❗스위프트는 띄어쓰기도 중요한 언어. A != B 와 A! = B는 전혀 다른 의미이며 A > B? A : B 와 같이 사용하면 오류가 발생한다. A > B ? A : B와 같.. 2022. 1. 13. iOS - 객체 제어 Label과 Button을 클래스에 연결하면 각각 @IBOutlet, @IBAction이 클래스에 추가되는 것을 본 적이 있을 것이다. 이 '@' 키워드로 시작하는 것을 Annotation이라고 하며 변수나 메소드의 성격을 컴파일러에게 알려주는 역할을 한다. @IBOutlet은 Property에, @IBAction은 Method에 각각 추가되는데 이는 IB(Interface Builder)에 관련된 것이라는 의미를 나타낸다. 이렇게 IB Annotation이 붙은 Property나 Method들은 처음 앱이 Build될 때 컴파일러가 확인하고 연결 정보를 찾아 IB의 객체와 서로 연결해준다. 연결된 정보들은 Xcode의 Connection Attribute 탭에서 확인할 수 있다. 이 탭은 다른 Insp.. 2021. 11. 7. 이전 1 2 다음 반응형