여러 가지 방법으로 관리 할 수 있지만 더 쉬운 방법 중 하나는 컬렉션에있는 셀에 대한 참조를 저장하여 모든 셀에 메시지를 쉽게 보낼 수 있도록하는 것입니다. 예를 들어 다음과 같은 속성을 추가 할 수 있습니다.
@property (강하고 비 구조적) IBOutletCollection (NSArray) * 셀;
@property (strong, nonatomic) IBOutletCollection(UITableViewCell) NSArray *cells;
그리고 nib 파일이나 스토리 보드의 각 셀에 연결하십시오. (당신이 인터페이스 빌더를 사용하지 않는 경우, IBOutletCollection
을 드롭하고 세포를 만들 때마다 배열을 직접 웁니다.) 다음과 같이
은 그럼 당신은 선택을 관리 할 수 있습니다 IBOutletCollection에 대한
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
for (UITableViewCell *currCell in self.cells)
{
currCell.accessoryType = UITableViewCellAccessoryNone;
}
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
}
내가 뭔가 잘못하고있는 것 같지만 속성에 대한 구문이 나와 같이 작동하지 않습니다. IBOutletCollection을 입력하면 ClassName을 묻습니다. IBOutlet을 사용하면 구문이 정상적으로 보입니다. 내가 Xcode에 상당히 익숙하기 때문에 각 셀에 속성을 연결하는 방법을 설명 할 수 있습니까? (스토리 보드를 사용하고 있습니다) –