Як я можу зберігати булеве значення у кожному рядку перегляду UITable. Мені потрібно отримати булеве значення, збережене в комірці, коли обрана саме ця комірка.
Відповіді:
1 для відповіді № 1Я рекомендую використовувати властивість тегів у UITableViewCell
.
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;
// returns nil if cell is not visible or index path is out of range
{
static NSString *identifier = @"MyIndetifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
//make sure tu put here, or before return cell.
cell.tag = 0; //0 =NO, 1=YES;
return cell;
}
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
BOOL boolean = cell.tag; // return 0 or 1. based on what boolean you set on this particular row.
}
2 для відповіді № 2
Є так багато способів:
1. Ви можете використовувати властивість UITableViewCell.tag
2. Ви можете створити власний клас комірок, успадкований від UITableViewCell, і додати там нормальне для вас значення BOOL
3. Ви можете використовувати масив, пов’язаний з вашим переглядом таблиці, і коли ви вибрали клітинку, просто використовуйте indexPath, щоб знайти пов’язане значення у своєму масиві
тощо.
0 для відповіді № 3
У вас, певно, є якесь інше сховище, де визберігайте такі речі, як заголовок таблиці або підзаголовок таблиці. Зберігайте булеві там. Використовуйте це для перетворення bool у те, що ви можете помістити в масив чи словник.
[NSNumber numberWithBool:YES]
Наприклад, якщо ви використовуєте NSArray
рядків для зберігання заголовків, замість цього використовуйте масив словників. Кожен словник матиме "заголовок" і (наприклад) "isActive" булевий (зберігається як NSNumber
)
0 для відповіді № 4
NSMutableArray * tableData;
кожна комірка таблиці асоціюється з магазином NSMutableDictionary в tableData, ви можете встановити NSNumber (store bool) до словника.
0 для відповіді № 5
Вам потрібно реалізувати метод UITableView
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;
// returns nil if cell is not visible or index path is out of range
{
//create cell here
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}
- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath { // за допомогою indexpath.row ви можете отримати доступ до клітинки, на яку користувач натиснув. }