我有對象 「Consumo」的NSMutableArray和UITableView的(EXC_BAD_ACCESS)
-(id)initWithDictionary:(NSDictionary *)consumo{
self = [super init];
if (self != nil)
{
fechaLectura = [consumo objectForKey:@"fechaLectura"];
tarifa = [consumo objectForKey:@"tarifa"];
consumoBase = [consumo objectForKey:@"consumoBase"];
consumoHP = [consumo objectForKey:@"consumoHP"];
reactivoLeido = [consumo objectForKey:@"reactivoLeido"];
reactivoFacturado = [consumo objectForKey:@"reactivoFacturado"];
demandaFPLeida = [consumo objectForKey:@"demandaFPLeida"];
demandaFPFacturada = [consumo objectForKey:@"demandaFPFacturada"];
demandaHPLeida = [consumo objectForKey:@"demandaHPLeida"];
demandaHPFacturada = [consumo objectForKey:@"demandaHPFacturada"];
calificacion = [consumo objectForKey:@"consumo"];
}
return self;
}
viewController.h
@interface ConsumoViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UILabel * sumLabel;
NSMutableArray * consumos;
IBOutlet UITableView *tablaConsumo;
NSMutableArray * titulosConsumo;
Consumo * cons;
}
@property (nonatomic,retain) IBOutlet UILabel * sumLabel;
@property (nonatomic,retain) NSMutableArray * consumos;
@property (nonatomic,retain) UITableView * tablaConsumo;
@property (nonatomic,retain) NSMutableArray * titulosConsumo;
@property (nonatomic,retain) Consumo * cons;
@end
viewcontroller.m(包括的tableview)
- (void)viewDidLoad
{
consumos = [[NSMutableArray alloc] init];
NSDictionary * dict;
for (int i = 0; i < [suministro count]; i++){ /* suministro = array to dictionary */
dict=[suministro objectAtIndex:i];
cons = [[Consumo alloc] initWithDictionary:dict];
[consumos insertObject:cons atIndex:i];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
detFechaLectura = [[[UILabel alloc] initWithFrame:CGRectMake(10.0, 20.0, 120.0, 20.0)] autorelease];
detFechaLectura.tag = LABELSUP1;
[cell.contentView addSubview:detFechaLectura];
}else{
detFechaLectura = (UILabel *)[cell.contentView viewWithTag:LABELSUP1];
}
detFechaLectura.text = [[consumos objectAtIndex:indexPath.row] fechaLectura];
return cell
}
}
問題:
detFechaLectura.text = [[consumos objectAtIndex:indexPath.row] fechaLectura]; (主題1:程序接收信號:「EXC_BAD_ACCESS」)
我希望我能幫上忙。謝謝
很好,謝謝dealloc方法。我想過這樣做: @property(nonatomic,retain)NSString * fechaLectura;保留要計算初始化了多少次。 – JohnPortella 2012-01-10 15:41:24
看我的編輯:)如果你使用'self.fechaLectura',那麼你正在使用屬性(因此保留)。如果你只是使用'fechaLectura',那麼你必須自己保留。 – deanWombourne 2012-01-10 16:20:04