2012-03-22 5 views
11

내 질문은 프로그래밍 방식으로 NSIndexPath를 설정하는 방법입니다. 예를 들어프로그래밍 방식으로 NSIndexPath 설정

I 부가 방법

- (void)setDefaultValue{ 
tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:1]; 
} 

있는 tableView 대리자 I 비교하려는 -cellForRowAtIndexPath 두 indexPath

경우 ([indexPath ISEQUAL : tempIndexPath]) ...

하지만이 경우 내 tempIndexPath = null (내 생각 엔 -이 객체가 자동 실행이므로)

이 경우 NSIndexPath를 설정하는 방법은 무엇입니까?

감사합니다. 이것은 당신에게 개체의 소유자를 만들 것입니다

[tempIndexPath retain]; 

, 그래서 당신이 할 때 release에 기억

답변

16

추가

- (void)setDefaultValue{ 
    tempIndexPath = [[NSIndexPath indexPathForRow:0 inSection:1] retain]; 
} 

유지하지만 향후 릴리스 temIndexPath을 인식해야한다.

편집 : 잘못된 옵션을 삭제했습니다.

+0

개체를 유지하기 위해 속성을 만드는 것은 문제의 과대 평가라고 생각합니다. 이 외에도 클래스 외부에서 멤버를 액세스 할 수있게 만드는 측면 효과가 있습니다. 특히 바람직하지 않을 수 있습니다. 특히 "임시 직원"에 대해 이야기하는 것을 고려하면 ... – Saphrosit

+0

@Saphrosit, 맞습니다. 답변 됨 – LuisEspinoza

2

단순히 당신이 그것을 인스턴스화 한 후 retain를 호출합니다.

1

자동 할당 된 객체를 반환하는 방식으로 할당하고 나중에 릴리스해야합니다.

관련 문제