2012-11-01 5 views
1

나는 Objective C (Xcode, 중요한 경우) 프로그램을 작성중인 컴퓨터 프로그래밍 2 학년 학생입니다. 현재 우리는 애니메이션 작업과 움직이는 애니메이션 객체를 화면 전체에서 움직이고 있습니다. 지금, 나는 미친 듯이 운전하는 오류를 다루고있다. 내 프로그램은 ARC, Automated Reference Counting을 사용하고 있는데, 이것은 아마도 메모리 관리를 돕기로되어있다. 그러나 어떤 이유로, 나는 항상 나에게 말한다 오류를 제공Automated Reference Counting에서 dealloc을 다시 작성하는 방법이 있습니까? 왜 작동하지 않습니까?

[super dealloc]; 

사용할 수없는 것 "ARC는 '할당 해제'

왜 이쪽의 명시 적 메시지 전송을 금지? 어떻게 해결합니까 ? 그것은 그것은 그냥이 하나, 내 다른 프로그램에서 작동

또한

, 릴리스 중 하나가 작동하지 않는 것 같습니다 예를 들어, 다음 코드는 나에게이 오류 제공 : [불 덩어리 자료]

을?. 오류는 ''출시 '를 사용할 수 없음을 나타냅니다. 자동 참조 계산 모드 "로 표시되고 다음 오류는"ARC는 '릴리스'의 명시 적 메시지 전송을 금지합니다. "왜 이런 일이 발생합니까, 어떻게 해결할 수 있습니까? 이 코드는 다른 프로그램에서도 작동합니다. 누군가 제발 설명 할 수 있을까, 아니면 적어도 내 모든 문제를 해결할 수있는 링크를 제공 할 수 있습니까? 읽어 주셔서 감사합니다

답변

0

단순, 그냥 그 라인을 제거하십시오. ARC는 모든 release/autorelease/dealloc 호출을 처리합니다. ARC는 개체 수명 기간 동안 100 % (거의) 통찰력을 가지고 있으며 이러한 호출을 삽입합니다.

dealloc 메소드를 재정 의하여 계속 정리할 수 있습니다.

+0

줄을 주석 처리했는데 기본적으로 제거하는 것과 같습니다. 맞습니까? 글쎄, 그것은 나에게 다음과 같은 오류를 주었다. 링커 명령은 종료 코드 1 (호출을보기 위해 -v 사용)에서 실패했다.이 오류는 매우 솔직히, 두려운 것처럼 보인다. 그것은 무엇입니까, 어떻게 해결합니까? – user1791941

2

자신의 dealloc 메서드를 정의 할 수 있습니다. [super dealloc] (자동으로 호출)을 호출 할 수 없습니다. 동일은 ARC는 코드에 배치 처리로

당신은 완전히 Apple's Guide on ARC

를 통해 갈 시간이 걸릴해야

+0

줄을 주석으로 처리했습니다. 기본적으로 줄을 제거하는 것과 같습니다. 맞습니까? 글쎄, 그것은 나에게 다음과 같은 오류를 주었다. 링커 명령은 종료 코드 1 (호출을보기 위해 -v 사용)에서 실패했다.이 오류는 매우 솔직히, 두려운 것처럼 보인다. 그것은 무엇입니까, 어떻게 해결합니까? – user1791941

+0

몇 가지 코드를 게시 할 수 있습니까? 귀하의 방법을 보지 않고도 디버그하기가 어렵습니다. – Kyle

3

그것은 당신에게 시간의을 톤을 저장하고 그것의 호출 할 필요가없는, 릴리스 마찬가지입니다 이해할 가치가있는 무엇인가.

+1

짧은 버전이지만 ARC가 없으면 "retain"과 같은 명령을 사용하여 특정 객체를 유지할 것인지 여부를 명시 적으로 추적하는 "수동 참조 계산"을 사용하고 있습니다. ','release' 및'autorelease'를 사용하여 객체를 처리 할 수있는 런타임을 알려줍니다. ARC (Automatic Reference Counting)를 사용하면 더 이상 객체에 대한 참조가 없을 때 자동으로 결정되므로 더 이상 객체를 사용하지 않을 때 처리 할 수 ​​있습니다. 이 때문에 수동 방법에서 사용 된 명령은 더 이상 사용/필요/허용되지 않습니다. – lnafziger

+0

줄을 주석으로 처리했습니다. 기본적으로 줄을 제거하는 것과 같습니다. 맞습니까? 글쎄, 그것은 나에게 다음과 같은 오류를 주었다. 링커 명령은 종료 코드 1 (호출을보기 위해 -v 사용)에서 실패했다.이 오류는 매우 솔직히, 두려운 것처럼 보인다. 그것은 무엇입니까, 어떻게 해결합니까? – user1791941

+0

가이드를 읽었습니까? – jere