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
아무도 그 생성 된 인스턴스에 대한 포인터를 가지고 있지 않다는 것입니다.
다음 예를 가정 해 보겠습니다.
- 귀하의 인스턴스
ClassA
는NSURLConnection
- 의 인스턴스
ClassA
가 해제되고 할당 해제되었습니다. NSURLConnection
아직 살아 있고 할당 해제 된 인스턴스에 델리게이트를 발동합니다.
이 문제를 해결하려면의 인스턴스를 저장하고의 인스턴스가 할당 해제되어 해당 인스턴스도 할당 해제되는 NSURLConnection
경우 해당 연결 ClassA
을 해제해야합니다 NSURLConnection
.
'IT박스' 카테고리의 다른 글
iPhone에서 빈 영역을 터치하면 키보드를 숨기는 방법 (0) | 2020.10.28 |
---|---|
Java에서 문자열 부분 제거 (0) | 2020.10.28 |
Angular 2 경로가 존재하지 않는 경우 404 또는 다른 경로로 리디렉션하는 방법 (0) | 2020.10.28 |
LLDB의 배열보기 : Xcode 4.1의 GDB '@'연산자와 동일 (0) | 2020.10.28 |
PHP를 사용하여 디렉토리가 비어 있는지 어떻게 확인할 수 있습니까? (0) | 2020.10.28 |