iOS - NameSpace

ian·2021년 12월 17일
0

iOS 공부

목록 보기
4/9
let strawberry = Fruit()
let banana = Fruit()
let kiwi = Fruit()
let pineapple = Fruit()
let mango = Fruit()

위 코드처럼 상수를 만들어 놓았을 때, 관련이 있는 것 끼리 모아두고 싶었어요.

그러던 도중 재밌는 글을 찾게 됐습니다 !
여기를 눌러서 같이 봐봐요 👍🏻
NameSpace 라고 합니다 !

위 코드를

struct FruitStore {
    static let strawberry = 1
    static let banana = 2
    static let kiwi = 3
}

이렇게 구조체를 만들었어요.

사용 방법은

FruitStore.strawberry

와 같이 인스턴스 선언을 하지 않습니다 !

그런데 이건 인스턴스가 가능해요 ㅠㅠ

인스턴스를 막기위해 우리는

struct FruitStore {
    private init() {}
    static let strawberry = 1
    static let banana = 2
    static let kiwi = 3
}

을 선언해줍니다 !

또, struct 말고도 enum 을 사용해줄 수 있습니다 !

enum FruitStore {
    static let strawberry = 1
    static let banana = 2
    static let kiwi = 3
}

enum은 인스턴스화가 가능하지 않기 때문에 private init() {}
를 해주지 않아도 됩니다 !

출처: https://zeddios.tistory.com/353

profile
디자인씽킹을 하며 iOS 를 공부합니다

1개의 댓글

comment-user-thumbnail
2021년 12월 20일

오호! 저는 문자열 관리할 때 struct로 할껀지 enum으로 할껀지에 대해 생각해봤던 적이 있어요 :)
인스턴스가 생기지 않게 하기 위해 enum으로 선언했었는데 struct로 만들어도 인스턴스가 생기지 않게 하는 방법이 있군요! 잘 보고 갑니다🤗

답글 달기