IT박스

NSURLConnection에 대한 Xcode 4 경고 "표현 결과가 사용되지 않음"

itboxs 2020. 10. 28. 07:55
반응형

NSURLConnection에 대한 Xcode 4 경고 "표현 결과가 사용되지 않음"


나는 평소 데이터 전송을 시도하고 있습니다. 내 NSMutableURLRequest를 정의한 다음

[[NSURLConnection alloc] initWithRequest:request delegate:self];

이것은 Xcode 3에서는 괜찮 았지만 Xcode 4는 해당 줄에서 " Expression result unused "에 대해 경고 합니다. 요청은 작동하지만 경고를 제거하는 방법을 찾고 싶습니다.

나는 변수에 연결을 저장할 수 있다고 가정하지만 실제로 필요하지 않으며 nil다음 줄로 설정하는 지점을 볼 수 없습니다 (경고를 제거하지만)

참고 : Xcode 4인지 또는 ARC가 활성화되어 있는지 100 % 확실하지 않습니다.


함수가 필요하지 않은 결과를 반환하면이를 void로 캐스팅하여 컴파일러 경고를 제거 할 수 있습니다.

(void) [[NSURLConnection alloc] initWithRequest:request delegate:self];

아직 ARC를 사용하지 않았기 때문에 이것이 좋은 생각인지 말할 수 없습니다. ARC 이전에이 포인터 결과를 어딘가에 보관해야 릴리스 할 수 있습니다.


progrmr의 대답은 정확하지만 여기에 더 깨끗한 방법이 있습니다.

[NSURLConnection connectionWithRequest:request delegate:self];

결과를 void로 캐스팅하지 않더라도 경고가 발생하지 않습니다.


누군가가 그 책임을 져야합니다 NSURLConnection. 연결을 저장할 필요는 없지만 저장하면 코딩이 더 좋습니다. 문제는 당신이 생성 한 후에는 NSURLConnection아무도 그 생성 된 인스턴스에 대한 포인터를 가지고 있지 않다는 것입니다.

다음 예를 가정 해 보겠습니다.

  1. 귀하의 인스턴스 ClassANSURLConnection
  2. 의 인스턴스 ClassA가 해제되고 할당 해제되었습니다.
  3. NSURLConnection 아직 살아 있고 할당 해제 된 인스턴스에 델리게이트를 발동합니다.

이 문제를 해결하려면의 인스턴스를 저장하고의 인스턴스가 할당 해제되어 해당 인스턴스도 할당 해제되는 NSURLConnection경우 해당 연결 ClassA을 해제해야합니다 NSURLConnection.

참고 URL : https://stackoverflow.com/questions/7914990/xcode-4-warning-expression-result-unused-for-nsurlconnection

반응형