[Swift 3] 속성 정의하기

2016-06-27
16 Views

[문법]

속성은 인스턴스 변수에 접근하는 방법 중 하나이다. Swift언어는 변수명을 호출시 그 값을 얻을 수 있기 때문에 인스턴스 변수를 속성으로 취급한다. 속성은 클래스 상단에 변수 선언과 같은 형으로 선언한다. 일반적으로 값이 변경되는 것을 상정하고 var로 선언되지만 읽기 전용으로 선언하려면 let으로 선언한다. 접근한정자는 클래스와 비슷하게 사용할 수 있다. 속성은 크게 2가지가 있다.

  • 유지형 속성: 값 자체를 유지하고 계속 사용
  • 계산형 속성 : 그 자체는 값을 가지지 않고 접근할 때 처리함

계산형 속성은 참조될 때 get블록에서 정의한 처리가 실행되고 값을 설정하려는 경우 set블록에서 정의한 처리가 실행된다. set블록에 넣은 값이 변수명 newValue로 전달된다.

예제

  1. 속성 초기값을 지정하지 않는 경우 Optional형 변수를 선언할 때처럼 “?”을 붙인다.
  2. Swift언어는 클래스외에 구조체와 열거형에서 속성을 가질 수 있다. 이때 속성 정의는 클래스 속성정의와 같다.
Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares10 views
Swift 3.0
shares10 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares2 views
Swift 3.0
shares2 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-5904bb27037e9751759107/] [crayon-5904bb27037ee317918562/] [crayon-5904bb27037f0425745982/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares5 views
Swift 3.0
shares5 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…