2

말, 내부에 데이터가있는 싱글 톤을 만들고 싶습니다. 데이터는 싱글 톤에서 예상 한대로 동적으로 한 번만 할당됩니다.ARC로 IOS 5에서 싱글 톤을 제거하는 방법은 무엇입니까?

하지만 지금은 언제 어떻게 데이터를 공개 할 수 있을지 알고 싶습니다. 싱글 톤을 파괴 할 특별한 방법을 만들어야할까요? 좀 더 구체적으로 -이 싱글 톤을위한 'dealloc'메소드가 실행될 때? 그 책임자는 누구입니까?

답변

2

명시 적으로 호출하는 메소드/함수를 선언 할 수 있습니다.

가장 간단한 방법은 정적 C++ 클래스를 유지 한 다음 소멸자에서 해제하는 것입니다. 여러 개의 싱글 톤이있는 경우,이 순서는 구현 순서가 정의되어 있기 때문에 잘 확장되지 않습니다.

또 다른 대안은 (그리고 더 나은 디자인) 싱글 톤 접근법을 피하고 앱 기간 동안 계속 살아가는 다른 클래스의 일반 인스턴스로 사용하는 것입니다 (앱 대표는 일반적으로 알려진 예제입니다).

'when'은 종속성과 사용 방식에 따라 다릅니다. 파괴시 외부 영향을 최소화하려고 노력하는 것도 좋습니다.

2

일반적으로 단일 개체는 일반 개체와 다르지 않습니다. 더 이상 참조가 없다면 해제됩니다. 대개 정적 변수에 의해서만 하나의 객체가 있다는 것을 제어합니다. 이 변수는 컴파일 타임에 생성됩니다. 그러므로 그것은 풀려나 질 수 없다. 그러나 모든 '진짜'물체는 할 수 있습니다.

관련 문제