헤더파일에 전역변수로 NSMutableArray *checkArr 저장할 배열을 선언해준다
//각 셀에 표시할 내용을 결정한다
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//성능 향상을 위해서 셀은 재사용한다
static NSString *cellIdentifier = @"Cell";
//기본적으로는 같은 형식의 셀을 사용하기 위해서 그 셀을 재사용한다
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
//기초가 되는 셀이 아직 완성되어 있지 않다면 작성
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
}
//체크가 되어 있는지 없는지를 비교해서 다시 불러준다
if ([checkArr indexOfObject:[NSString stringWithFormat:@"%d",indexPath.row]] < checkArr.count) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else {
cell.accessoryType = UITableViewCellAccessoryNone;
}
//indexPath에 표시할 내용을 텍스트로 결정
cell.textLabel.text = [nameArr objectAtIndex:indexPath.row];
return cell;
}
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%d",indexPath.row);
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
//셀 악세사리타입 설정 및 체크된 배열 저장
if (cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[checkArr addObject:[NSString stringWithFormat:@"%d",indexPath.row]];
NSLog(@"check");
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
[checkArr removeObject:[NSString stringWithFormat:@"%d",indexPath.row]];
NSLog(@"no");
}
}
'아이폰' 카테고리의 다른 글
[iphone] 버튼에 이미지 셋팅 하는 방법 (0) | 2013.01.19 |
---|---|
[iphone] int형 변수를 string형 변수로, string형 변수를 int형 변수로 (0) | 2013.01.18 |
[iphone] 주소록 DB 정렬 (0) | 2013.01.18 |
[iphone] ARC를 사용할때 일부 클래스에서 ARC를 사용 안하는 방법 (0) | 2013.01.18 |
[iphone] 배열(array) 내용을 테이블뷰(TableView)에 저장 (0) | 2013.01.18 |