본문 바로가기

Front End/iOS

Swift

반응형

class / struct / enum

class :  property와 function을 가질 수 있음, 초기화 함수, 상속, reference type(pointer) 전달

struct : property와 function을 가질 수 있음, 초기화 함수, value type 전달

enum : case 저장소, value type 전달

 

value VS reference 전달

value 

copy.-> 즉 받는 변수의 타입까지 copy 

var x = y ( : array )
x.append(val)        // y에 반영되지 않음

let 변수에 할당한 경우 변경할 수 없음 ( 상수임 (immutable))

let x = y ( : array )
x.append(val)

reference 

같은 메모리를 바라봄.

 

Methods

Parameters Names

- internal name : 호출하는 함수 내에서 사용

- external name : 해당 메소드를 호출할 때 호출하는 Caller가 사용

 만약, external name을 사용하고 싶지 않다면 언더바 ( ' _ ' ) 를 넣어주면 된다.

만약 함수의 첫 번째 파라미터라면 default로 언더바를 기본으로 넣어줌.

그 외의 모든 파라미터의 default는 internal name. 따라서 external name을 지정하지 않으면,  기본 값은 internal name

그러나, 첫 번째 이후의 파라미터에 대해 _ 로 internal name 을 지정하지 않는 것은 지양하라

 

Override

대상 : 함수, 프로퍼티 ( final 함수, final 프로퍼티 제외 ) 

 **final property와 final func 는 서브클래싱(하위 클래스에서 오버라이드 등을 통해 수정하는 것) 할 수 없음

 

Property

Observe changes to any property ( with willSet and didSet )

해당 property 에 set 하기 전(willSet)과 후(didSet)에 호출 => update UI

Lazy Initializer

 

반응형

'Front End > iOS' 카테고리의 다른 글

swift memory, closure  (0) 2019.08.01
Getting Started Develop iOS App  (0) 2019.07.15
IOS  (0) 2019.07.14
Swift  (0) 2019.07.03