아이폰2013. 1. 18. 23:50

글을 올린 블로거를 생각해서 광고 한번만 클릭해주시면 감사하겠습니다

헤더파일에 전역변수로 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");

}

}

Posted by 퍼플카우D