[Swift 3] 메소드 정의하기

2016-06-27
14 Views

[문법]

메소드는 클래스가 가진 데이터 처리 방법을 구현하는 것이다. Swift의 메소드는 func로 정의하고 리턴값이 없는 것과 리턴값이 있는 경우가 다르다. 리턴값이 있는 메소드는 메소드 정의의 마지막에 리턴형을 지정한다. 메소드 정의시 주요 접근 한정자는 다음과 같다.

  • internal : 동일한 프로젝트내에서 접근 가능 (기본값)
  • public : 어디서나 접근 가능
  • private : 메소드가 정의된 클래스내에서만 접근 가능
  • override : 상위클래스로부터 상속한 메소드 재정의함
  • class : 클래스 메소드로 정의

메소드에 파라미터를 전달할 경우, 파라미터의 지정 전에 파라미터에 대한 레이블을 넣고 공백으로 구분한다. 레이블에 대한 규칙은 별도의 사양이 없다. 일반적으로 파라미터 목적과 종류등을 알 수 있는 문구로 구성한다. 레이블은 생략해도 되며 파라미터에 기본값을 지정하고 싶은 경우 파라미터뒤에 “=”로 지정한다.

예제

  1. 메소드 리턴값은 형을 여러개 지정해서 튜플형으로 여러개의 값을 리턴할 수 있다.
  2. 파라미터를 참조로 이용하고 싶다면 메소드를 정의할 때 변수명 앞에 “inout”을 붙이고 메소드를 호출할 때에는 파라미터 앞에 “&”를 사용한다.
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-590463eb6751c698659419/] [crayon-590463eb67521695131046/] [crayon-590463eb67523608588963/]…

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

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

MJ Kim - 4월 29, 2017

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