2011-11-16 5 views
0

4.2에서 올바르게 작동하는 iOS5에서 코드를 빌드 할 때 이상한 문제가 발생했습니다.indexPath 값이있는 iOS5의 문제

문제는 tableview 색인 경로 때문입니다. 나는 같은 클래스의 다른 메소드에서 indexpath 값을 얻으려고했는데, iOS5에서 충돌이 발생했다.

2 시간 후에 내가 공유 할 수있는 몇 가지 변경 사항을 적용하여 문제를 해결할 수있었습니다. 필요한 곳 ​​

.H 파일

NSIndexpath *indexPathValue; 

@property(nonatomic, copy) NSIndexpath *indexPath; 

하는 .m 파일 방법 cellForRowAtIndexPath

self.indexPathValue = indexPath; 

그리고는 indexPathValue 인스턴스를 사용했다. 희망이 도움이됩니다.

+0

이것은 질문이 아닙니다. – jrturton

답변

1

속성은 copy 속성이 아닌 retain 속성을 가질 수 있습니다. 그것은 당신이 그것을 할당 할 때마다 setter 메소드를 사용하는 기억으로 잘 한 작동합니다

self.indexPathValue = indexPath; 

현재 코드 복사 포인터를 어떤 방법으로 그것을 유지하기 위해 시도하지 않고 당신이 사용하지 않는 (합성 setter 메서드), 나중에 충돌이 발생합니다.

+0

안녕하세요 ** ** ** ivar **에 직접 ** 값을 할당하기 때문에 그의 현재 코드는 아무것도 복사하지 않습니다. 속성은'copy' 속성을 가질 수 있으며 이것은 괜찮습니다. 'copy'는 인스턴스의 새로운 복사본을 생성한다는 점을 제외하면'retain'과 거의 같습니다 ('retain'은 메모리에있는 원래 객체에 대한 참조를 사용합니다) –