2012-03-12 2 views
0

나는 이것을 수행하는 가장 좋은 방법을 찾으려고 노력하고 있습니다. 사용자가 이전에 선택했거나 저장 한 항목 중 UITableView이 있습니다. 항목을 클릭하면 세부 정보 페이지로 이동합니다. 내가 필요로하는 것은 테이블을 다시로드하는 테이블 뷰 아래의 버튼을 클릭하고 액세서리를 변경하여 공개 대신 틱으로 표시 한 다음 사용자가 항목을 선택 취소하고 목록에서 항목을 제거 할 수있게하기 위해서입니다 업데이트 된 테이블을 다시로드하고 공개 액세서리를 복원하는 또 다른 버튼버튼 누르기에서 UITableView 기능 변경

질문 : 클릭 후 테이블 다시로드를 처리하는 방법을 "기억"하는 가장 좋은 방법은 무엇입니까? NSUserDefaults을 사용하여 버튼 클릭에 깃발을 저장 하시겠습니까? 아니면 더 우아한 방법이 있습니까? 버튼의 상태를 한 주 또는 다른 주에 상관없이 사용할 수 있다고 생각합니다. 그러나 뭔가 빠져있는 것이 내장되어 있다고 생각합니다.

희망은 그 말이 맞습니다 - 고마워요.

+0

* 정적 bool * 사용은 어떻게됩니까? 메서드 호출을 통해 값을 유지합니다. – ClosedID

+0

사실 그것은 내가 찾고있는 종류의 것입니다. 나는 클릭 이벤트 후 잃지 않을 표시 할 테이블의 버전을 지시하는 깃발을 보존 할 방법이 필요합니다. 나는 다시 ASP.net 방식으로 생각하고있다 ;-) 나는 그것을 시도 할 것이다 - 감사 – Dave

답변

0

보통 '모델 객체'가 있는데 그 객체의 배열에 따라 테이블을 구성합니다. 내 cellForRowAtIndexPath은 다음과 같습니다 : 당신은 당신의 모델이없는 경우 다음이 BOOL 값을 저장 플래그의 배열을 만들 수 있습니다

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    InterestsCell *cell = (InterestsCell*)[tableView dequeueReusableCellWithIdentifier:kInterestsCellID]; 
    if (cell == nil) { 
     ... 
    } 

    Interest *i = (Interest*)[self.interestsArray objectAtIndex:indexPath.row]; 
    cell.myTfSubview.enabled = i.isChecked; 

    return cell; 
} 

.

+0

고마워,하지만 난 테이블을 표시하는 방법을 보지 않고있다. 보여줄 테이블. – Dave

+0

@ 데이브, 내 생각이 - 일부 모델 개체를 만들고 NSArray에 저장하십시오. – beryllium