본문 바로가기

전체 글170

Swift Deinitialization DeinitializationDeinitialization은 클래스의 인스턴스가 해제될 때 호출된다. Deinitialization는 Initialization이 init 키워드를 사용하는것과 마찬가지로 deinit이라는 키워드를 사용한다. 사용 방법도 Initialization과 비슷하지만 Deinitialization은 오직클래스에서만 사용할 수 있다. 구조체와 열거형에서는 사용할 수 없다.Swift는 Automatic Reference Counting이라는 기능을 사용하여 인스턴스의 메모리를 관리한다. 따라서 개발자가 코드안에서 인스턴스 메모리를 관리하는 부분을 작성할 필요가 거의 없다. 그러나 개발자 스스로가 할당한 리소스의 경우라면아무리 ARC 기능이 뛰어나다고 하더라도 관리할 수가 없다. 대표.. 2015. 6. 24.
Swift Initializer Delegation for Value Types Initializer Delegation for Value TypesSwift에서 제공하는 이니셜라이저는 다른 이니셜라이저를 호출할 수 있다.이러한 기능을 "Initializer Delegation" 이라고 한다. Swift에서 Initializer Delegation을 사용하는 이유는 같은 작업을하는 여러 이니셜라이져가 존재하는 것을 막기 위한 것이다. 예struct Size { var width = 0.0, height = 0.0}struct Point { var x = 0.0, y = 0.0} struct Rect { var origin = Point() var size = Size() init() {} init(origin: Point, size: Size) { self.origin = origi.. 2015. 6. 24.
Swift Initialization 상수 속성의 변경 Initialization 상수 속성의 변경상수(constant)는 수정이나 변경이 불가능하지만 Swift의 initialization(초기화)에서는 변경할 수 있다.좀 더 엄밀히 말하면 초기화 할때만 변경할 수 있다. 초기화 이후에는 변경할 수 없다. 예class SurveyQuestion { let text: String var response: String? init(text: String) { self.text = text } func ask() { println(text) } func responsePrint() { println(response) }}let beetsQuestion = SurveyQuestion(text: "How about beets?")beetsQuestion.ask()//.. 2015. 6. 23.
Swift Playground에서 console output 보여주기 Swift Playground에서 console output을 보여주는 매뉴는 다음과 같다. View menu -> Assistant Editor -> Show Assistant Editor 2015. 6. 23.