好吧,我正在使用單元重用標識符在我的表視圖上生成UITableViewCells
。這UITableView
顯示所有聯繫人的姓氏和名字,首先抓住他們通過ABAddressBook
,然後使用數據cellForRowAtIndexPath:
這樣的:選擇具有CheckmarkAccessory和單元重用標識符的UITableViewCells
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"inviteCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// forIndexPath:indexPath]; taken from above
if(tableView == self.tableView)
{
//configure the cells for the contacts tableView
#define CHECK_NULL_STRING(str) ([str isKindOfClass:[NSNull class]] || !str)[email protected]"":str
id p=[contactsObjects objectAtIndex:indexPath.row];
NSString *fName=(__bridge NSString *)(ABRecordCopyValue((__bridge ABRecordRef)(p), kABPersonSortByFirstName));
NSString *lName=(__bridge NSString *)(ABRecordCopyValue((__bridge ABRecordRef)(p), kABPersonSortByLastName));
cell.textLabel.text=[NSString stringWithFormat:@"%@ %@",CHECK_NULL_STRING(fName),CHECK_NULL_STRING(lName)];
}
else
{
//configure the cells for the search bar controller's tableView.
#define CHECK_NULL_STRING(str) ([str isKindOfClass:[NSNull class]] || !str)[email protected]"":str
id p=[searchResults objectAtIndex:indexPath.row];
NSString *fName=(__bridge NSString *)(ABRecordCopyValue((__bridge ABRecordRef)(p), kABPersonSortByFirstName));
NSString *lName=(__bridge NSString *)(ABRecordCopyValue((__bridge ABRecordRef)(p), kABPersonSortByLastName));
cell.textLabel.text=[NSString stringWithFormat:@"%@ %@",CHECK_NULL_STRING(fName),CHECK_NULL_STRING(lName)];
}
return cell;
}
我需要做的是,選擇任意生成的細胞像這樣,也能夠取消選擇任何單元格。在後臺,我將使用與每個姓名關聯的電話號碼來檢查他們是否在我的數據庫中註冊。但至於這UITableView
我需要選擇任何表單元格,並且而不是也選擇每10個單元格,或不管它是什麼。
說得很清楚:我需要跟蹤檢查哪些單元格,並且我需要使用最少的代碼來完成此操作。我可能是錯的,但我相信在我的情況下,我必須使用單元重用標識符,並且單元必須「單選」並且不可選。我該怎麼做呢?
請參閱http://stackoverflow.com/a/5973945/1824529 –