Singleton은 애플리케이션 전역에서 단일 인스턴스를 보장하는 디자인 패턴이다.
Swift에서 Singleton 패턴을 구현하는 방법을 설명해 보겠다.
class MySingleton {
// 정적 상수로 Singleton 인스턴스를 저장.
static let shared = MySingleton()
// private으로 생성자를 선언하여 외부에서 인스턴스화를 방지.
private init() {
// 초기화 코드
}
// Singleton의 기능을 정의.
func someFunction() {
// 기능 구현
}
}
위의 코드에서는 MySingleton 클래스에 shared라는 정적 상수를 추가하여 Singleton 인스턴스를 저장. private init()을 사용하여 클래스 외부에서 인스턴스화를 방지하고, Singleton의 기능을 구현한다.
이후 애플리케이션의 다른 부분에서 Singleton을 사용할 때에는 MySingleton.shared를 통해 인스턴스에 접근할 수 있다. 이를 통해 애플리케이션 전체에서 단일 인스턴스를 공유할 수 있다.
Singleton 패턴은 일반적으로 애플리케이션에서 공통된 리소스에 접근할 때 유용하다. 예를 들어, 데이터 관리자, 네트워크 관리자, 설정 관리자 등의 기능을 Singleton으로 구현할 수 있다. 그러나 Singleton 패턴을 사용할 때 주의할 점은 과도하게 사용하면 전역 상태가 되어 의존성 및 유지보수 문제를 야기할 수 있다. 따라서 적절한 상황에서만 사용하는 것이 좋다.
나의 경우 자주 쓰는 객체 예로 API 통신을 하는 ConnectionManager 만든 후 각각의 Func 정의후 필요한 곳에서 사용하면 된다.
요렇게 선언후

각각의 필요한 부분에서 아래의 이미지와 같이 선언후 사용하면 된다.

추가로 편리한 기능인 Swift MARK에 대해서 기록해 보겠다.
MARK 주석은 코드의 일부를 구분하고 주석으로 표시할 때 사용된다. 주로 코드의 섹션을 나누고 구조화할 때 유용하게 활용된다.
이러한 주석을 추가하여 코드를 읽는 사람들이 코드의 구조를 이해하기 쉽게 만들 수 있고. Xcode에서는 MARK 주석을 사용하여 코드 네비게이터에서 각 섹션을 쉽게 식별할 수 있다.
Xcode 상단 리스트를 누르면 MARK로 인한 해당 리스트 설명을 같이 볼수 있다.

//MARK: - 앱 AppVersion API 통신
//MARK: - 앱 Program List API 통신
사용 하면 아래의 이미지와 같이 상단탭 경로 리스트에서 쉽고 간편하게 볼수 있다.

'iOS, Swift 개발' 카테고리의 다른 글
Swift Model Codable (0) | 2024.04.16 |
---|---|
Swift UITableView의 리스트 Value 변경 방법 (0) | 2024.04.16 |
Swift Dictionary, Array nil 체크 (0) | 2024.04.16 |
파이어베이스 dSYM 찾을수 없을때 Issue(Firebase dSYM 요청 이슈) (0) | 2024.04.16 |
iOS 구글 IMA 광고 SDK 장착 하기 (0) | 2024.04.16 |