/ Uložte boolovskú hodnotu do UITableviewcell - iphone, ios, uitableview,

Uložiť booleovskú hodnotu v UITableviewcell - iphone, ios, uitableview, boolean

Ako môžem uložiť boolovskú hodnotu v každom riadku UITableview. Keď je vybraná konkrétna bunka, musím načítať boolovskú hodnotu uloženú v bunke.

odpovede:

1 pre odpoveď č. 1

Odporúčam použiť vlastnosť značky v systéme 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 pre odpoveď č. 2

Existuje mnoho spôsobov:
1. Môžete použiť vlastnosť UITableViewCell.tag
2. Môžete si vytvoriť svoju vlastnú bunkovú triedu zdedenú z UITableViewCell a pridať tam normálnu vlastnosť pre svoju hodnotu BOOL
3. Môžete použiť pole priradené k vášmu stolu a keď vyberiete bunku, jednoducho pomocou indexPath vyhľadajte pridruženú hodnotu vo svojom poli.
atď.


0 pre odpoveď č. 3

Pravdepodobne máte nejaké ďalšie úložisko, kde steuchovajte veci ako názov alebo podnadpis tabuľky. Skladujte boolean tam. Pomocou tohto môžete previesť bool na niečo, čo môžete vložiť do poľa alebo slovníka.

[NSNumber numberWithBool:YES]

Napríklad, ak používate NSArray reťazcov na ukladanie titulov, namiesto toho použite rad slovníkov. Každý slovník by mal mať "názov" a (napríklad) "isActive" boolean (uložený ako NSNumber).


0 pre odpoveď č. 4

NSMutableArray * tableData;

každá bunka tabuľky sa priradí k úložisku NSMeableDictionary v tableData, môžete nastaviť NSNumber (store bool) na Dictionary.


0 pre odpoveď č. 5

Musíte implementovať metódu 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 { // pomocou indexpath.row získate prístup do bunky, na ktorú používateľ klikol. }