내 싱글 톤 클래스에 다음 코드가 있습니다.정적 함수의 이상한 싱글 톤 초기화는 단위 테스트 중에 초기화됩니다.
static MySingleton *gManager;
+(void)initialize
{
if(self == [MySingleton class])
{
gManager = [[MySingleton alloc] initWithServices:[[MyServices alloc] init]];
}
}
+(MySingleton *)sharedInstance
{
return (gManager);
}
불행히도 단위 테스트 중에 gManager가 SenTestCaseRun 유형의 인스턴스라는 것을 알 수 있습니다. 나는 이유를 알아낼 것 같지 않은가? 그래서 [[MySingleton sharedInstance] myFunction]과 같은 호출;
은 MySingleton 클래스에 존재하지만 myFunction이 알 수없는 선택기라는 오류를 발생시킵니다.
NSStringFromClass 함수를 사용했기 때문에 SenTestCaseRun 유형입니다.
모든 포인터? 이미 이것에 3-4 시간 동안 내 머리를 쳤다. (.
이 언어가 어떤 언어인지 모르겠지만 실제로는'C '처럼 보이지 않습니다. – eckes
OP는'objective c'를 태그 상자에 입력했다고 생각합니다. 고쳤다. –
그것은 객관적인 C입니다. 내 태그에 추가했습니다. 어떻게하면 더 명확하게 할 수 있습니까? –