나는 '캡쳐 (Capture)'라는 이름의 클래스를 NSObject의 하위 클래스로 사용하며 뷰를 슈퍼 뷰에 추가합니다.싱글 톤을 해제하는 방법은 무엇입니까?
슬라이더로 구성된 Settings.bundle을 추가했습니다. 슬라이더 값이 'ON/1'인 경우 주 창에서 '캡처'의보기를 하위보기로 표시합니다. 슬라이더 값이 'OFF/0'이면 '캡처'에서 추가 된 뷰를 제거하고 '캡처'에있는 모든 객체를 릴리즈해야합니다.
슬라이더 값이 'OFF/0'인 경우 '캡처'클래스로 만든보기를 기본보기로 숨기고 싶지 않습니다.
앱이 종료 될 때가 아니라 앱이 백그라운드로 전송 될 때 '캡처'를 취소하고 싶습니다. 따라서 UIApplicationWillTerminateNotification 알림을 사용하여 싱글 톤을 탈퇴 할 수 없습니다. 난 그냥 '캡처'에 의해 표시되는 뷰를 숨기면
는, 그래서 지금 내가 싱글을 할당 해제 할 방법을 '캡처'클래스
메모리의 불필요한 사용이있을 것이다.
'캡처'클래스보기는 이벤트가 발생하더라도 모든보기 컨트롤러 위에 있습니다. AppDelegate에서 호출되는 클래스 메서드에 의해 한 번 할당됩니다.
static ScreenCapture *sharedScreen = nil;
+(Capture *)sharedScreenCapture
{
if (!sharedScreen)
{
sharedScreen = [[Capture alloc] init];
}
return sharedScreen;
}
싱글 톤을 만드는 방법에 대한 코드를 표시하십시오. – Wain
모든 것을 싱글 톤으로 만드는 저주 ;-) –
정적 ScreenCapture * sharedScreen = nil; + (캡처 *) sharedCapture { if (! sharedScreen) { \t \t sharedScreen = [[Capture alloc] init]; \t} \t return sharedScreen; }이 메소드는 appdelegate에서 호출됩니다. – user1899840