저는 obj-c 프로그래밍의 새로운입니다. 그래서 언제 정의 된 객체를 릴리즈해야합니까? urlRequest, 응답, 데이터 및 컨텐츠를 릴리스해야합니까?언제 이러한 객체를 객관적으로 릴리스해야합니까?
0
A
답변
1
urlRequest
을 릴리스해야합니다. response
, data
은 이미 자동 릴리즈 된 개체로 만들어졌으며 반환하기 전에 content
은 자동 릴리스 메시지를받습니다 (나는 단지 return [content autorelease]
으로 마지막 두 줄을 변경하는 것이 좋습니다).
또한 NULL
이 아닌 nil
으로 개체 포인터를 초기화하는 것이 더 일반적입니다. 그들이 생성 후 autorelease
메시지를 수신하지 않는 초기화 또는 당신이 그들을 release
에이를 재 할당하는 동안 객체의에 alloc
, copy
, retain
또는 new
를 호출하는 경우
코코아는 규칙을 가지고있다.
urlRequest
및 content
변수는 alloc
메서드를 사용하여 생성되므로 변수는 [자동] 릴리스되어야합니다. 당신이 이전에 시작 변수가 바르 그림자 수있는 인스턴스 변수로 urlRequest
이 있고 (EXC_BAD_ACCESS
같은) 다양한 문제에받을 수있는 경우 의견
을 신경 쓰지
업데이트합니다. 로컬 변수에 다른 이름을 사용하는 것이 좋습니다.
답변에 만족하면 투표 화살표 아래의 체크 표시를 선택하여 동의하십시오. – Eimantas
감사합니다. 지금은 작동하지만 urlRequest를 릴리스하고 두 번 이상 메서드를 실행하면 EXC_BAD_ACCESS 오류가 발생합니다. 의견이 있으십니까? –
'urlRequest' 변수를 공개하는 위치에 따라 다릅니다. – Eimantas