/ / Зберігати булеве значення в UITableviewcell - iphone, ios, uitableview, boolean

Зберігати логічне значення в UITableviewcell - iphone, ios, uitableview, boolean

Як я можу зберігати булеве значення у кожному рядку перегляду 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 ви можете отримати доступ до клітинки, на яку користувач натиснув. }