TIL - 2021.03.12 (Fri)

Youngwoo Lee·2021년 3월 14일
0

TIL

목록 보기
10/29
post-thumbnail

오늘 학습한 주제

  • SingleTon 패턴

학습 내용

Single Ton

소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다.

그럼 Swift 에서는 어떻게 구현?

  • 이니셜라이저를 private으로 설정하여 외부에서 또 다른 인스턴스를 생성하는 것을 막아주어야 한다
  • 클래스를 정의할 때 내부에 해당 클래스와 같은 타입의 타입 프로퍼티를 생성하여 객체를 생성하지 않아도 접근이 가능하도록 한다
  • 이때 static 전역 변수로 선언하는데 이 프로퍼티는 지연생성(lazy)되기 때문에 처음 생성하기 전까지는 메모리에 올라가지 않는다

활용 방안 : stock 을 싱글톤으로 구현할 예정이다

싱글톤으로 구현하지 않으면 present를 통해서 화면 간 이동을 할 때마다 값을 하나씩 옮겨주어야 할 것 같다

싱글톤으로 구현하면 FruitStock.shared 만 꺼내면 되어서 쉽게 구현 가능

그렇다면 장단점은??

profile
iOS Developer Student

0개의 댓글