수동 참조 카운팅 및 Xcode 4.5를 사용하고 있습니다.[UIAccelerometer sharedAccelerometer]에 대한 포인터를 보유하고있는 ivar를 유지 하시겠습니까?
UIAccelerometer *accelerometer;
가속도계는 속성이 아니었다 :
가 나는 바르를 선언했다. 내가 가진 두 번째 방법은accelerometer = [UIAccelerometer sharedAccelerometer];
accelerometer.delegate = self;
: : 그리고 한 가지 방법이 코드를했다
accelerometer.delegate = nil;
나중에 실행하는 다른 방법에 내가했다 :이
accelerometer.delegate = self;
셋업 가끔씩 (드물지만 겉으로보기에 무작위로) 다음과 같은 중단이 있습니다 :
'NSInvalidArgumentException', 이유는 : '- [NSPathStore2 setDelegate는 :] : 인식 할 수없는 선택기 나는 그것이 첫 번째 경우는 가속도계에 유지 퍼팅 시도이 중단의 이유를 찾고 좌절을 많이 한 예 XXX
로 전송 사용 된 후에는 중단이 없습니다. 그러나 그 보유가 실제 문제를 해결하지 못했기 때문에 걱정이됩니다. 이 "솔루션"을 생각한 이유는 setDelegate에 대한 호출에 대해 중단 메시지가 불평하고 있었고 관련성이있는 것으로 보이는 코드 섹션에서 내가 설정 한 유일한 대표자는 가속도계에 있다는 것입니다. 그러나 이것이 왜 그것을 고쳐야하는지 이해할 수 없으며, 문제가되는 것을 막을 수있는 방식으로 코드를 옮기는 것이 걱정됩니다.
방법 나는 그것이
accelerometer = [UIAccelerometer sharedAccelerometer];
그것은에있는 인스턴스의 기간 동안 같은 주소를해야합니다 싱글 인스턴스를 생성하는 이해하고, 그 주소도 존재 가속도계에 할당되고 인스턴스 기간 동안. 그렇다면 변경 사항을 유지하는 이유는 무엇입니까?
sharedAccelerometer 싱글 톤이 할당 해제 된 인스턴스보다 먼저 할당 해제 될 수 있습니까?
미안하지만 역학은 작동 장비로 보이지 않습니다. ht 오늘. 나는 backtics를 바꾸기 위해 이것을 3 번 편집했지만 올바르게 보이도록 할 수는 없다. 내 모든 backtics는 별도의 줄에 있지만 때로는 줄 바꿈없이 여기에 나타납니다. – RobertL
ARC로 전환하는 것을 고려 했습니까? 수동 참조 계산은 지루하고 오류가 발생하기 쉽습니다. – nielsbot
예,하지만 시간이 없습니다. 이 게임에는 이미 10,000 줄의 코드가 있으며, 그 중 많은 부분이 한 번 이상 쓰여지고 170png의 파일이 있습니다. 그리고 나는 최대한 빨리 그 코드를 꺼내야합니다.지금은 견고한 것처럼 보이므로 불필요한 변경을 꺼려합니다. 많은 사용자가 생기면 업데이트 용으로 ARC로 변환합니다. – RobertL