programing tip

싱글 톤 릴리스 방법이 경고를 생성합니까?

itbloger 2020. 12. 30. 07:43
반응형

싱글 톤 릴리스 방법이 경고를 생성합니까?


내 싱글 톤 릴리스 방법에서는 아무것도하지 않습니다.

-(void) release {
  //A whole lot of nothing.
}

그러나 다음 경고를 생성합니다.

경고 : 'release'구현에서 반환 유형에 대한 분산 개체 수정 자 충돌

나는 봤고 다른 사람들이 같은 오류를 가지고 있음을 보았지만 경고에 대한 설명은 없었습니다. 경고가 무엇인지 아는 사람이 있습니까?


당신은 그것을 선언해야합니다 oneway.

- (oneway void) release {}

oneway호출이 비동기 적으로 이루어질 수 있음을 나타 내기 위해 분산 오브젝트와 함께 사용되는 키워드입니다. NSObject 헤더는 release메소드를 선언 할 때이를 사용하므로이를 사용해야합니다. 분산 객체를 사용하지 않는 한 프로그램에 영향을 미치지 않지만 컴파일러를 만족시킵니다.


NSObject.h에서 release메서드 의 정의 oneway void.

oneway키워드는 분산 객체에 사용됩니다.

Xcode4.2 및 LLVM 이후로 검사가 더 강력하고 이전 버전의 Xcode 또는 gcc에서 허용 된 경우 이제이 단방향 키워드를 추가하여 LLVM 컴파일러가 이에 대한 경고를 중지해야합니다.

-(oneway void) release { /* do nothing */ }

이것은 당신의 코드에 어떤 사건도 없을 것입니다.

참조 URL : https://stackoverflow.com/questions/7379470/singleton-release-method-produces-warning

반응형