거래가있는 UITableView가 채워져 있습니다 (이전에 Navbar의 버튼을 통해 저장 됨). 각 행에는 날짜, 설명, 사람, 가치 (입금 및 인출) 5 개의 UILabel이 있습니다. 표는 날짜순으로 정렬됩니다. 일일 잔액을 어떻게 얻을 수 있습니까? 저울은 첫 번째 입력에서 현재 행까지의 합계 (+ 및 -)입니다.UITableView에서 누적 합계 만들기
다음 코드 (JournalDetail.m)를 가지고,하지만 난 단지
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
GxPolizasL *cell = (GxPolizasL *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"GxPolizasL" owner:self options:nil];
cell = gxPolizasL;
self.gxPolizasL = nil;
GMDiario *gmDiarioy = (GMDiario *)[self.fetchedResultsController objectAtIndexPath:indexPath];
//Date value
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/MM/yy"];
cell.fechao.text = [df stringFromDate:gmDiarioy.pzFecha];
[df release];
//Description value
cell.referencia.text=gmDiarioy.pzAlias;
//Person value
cell.item.text = gmDiarioy.persona.prAlias;
//Transaction value
NSNumberFormatter* vf = [[NSNumberFormatter alloc] init];
[vf setNumberStyle:NSNumberFormatterCurrencyStyle];
cell.valuem.text= [vf stringFromNumber: gmDiarioy.pzMont01];
[vf release];
//This is where the balance value is intended to be created
NSDecimalNumber *saldoAc = [NSDecimalNumber decimalNumberWithString:@"0.0"];
NSDecimalNumber *objectExpenseNumber = [gmDiarioy valueForKeyPath:@"pzMont01"];
saldoAc = [saldoAc decimalNumberByAdding:objectExpenseNumber];
NSLog(@"saldoAc: %@",saldoAc);
NSNumberFormatter* af = [[NSNumberFormatter alloc] init];
[af setNumberStyle:NSNumberFormatterCurrencyStyle];
cell.valuea.text= [af stringFromNumber: saldoAc];
[af release];
}
return cell;}
당신이 날은 어느 파악하는 데 도움이 수 대신 누적 금액 (잔액)의 가치와 동일한 금액을 얻을 균형 값을 구현하는 올바른 방법? 미리 감사드립니다. 귀하의 도움을 크게 주시면 감사하겠습니다. 상기 데이터 원본 배열을 통해 루프를 원하는 전화를 시작하는 모든 값을 요약됩니다 때마다 cellForRowAtIndexPath:
:
이
은 가- (NSFetchedResultsController *)fetchedResultsController
{
if (__fetchedResultsController != nil) {
return __fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
//Diario is an entity that keeps all transactions
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Diario" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
//This is to select only the journals for the current account (value passed at didSelectRowAtIndexPath from the previous UItableView
NSString *filtro=gmCuenta.cnAlias;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cuenta.cnAlias like %@", filtro];
NSLog(@"NSPredicate1 %@", gmDiario.cuenta);
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"pzFecha" ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController = [[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil] autorelease];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
NSError *error = nil;
if (![self.fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();}
return __fetchedResultsController;
}
jonkroll, 시간 내 주셔서 감사합니다. 귀하의 제안을 입력했지만 경고 메시지가 나타납니다 : 포인터 변환에 호환되지 않는 정수 'int'를 NSIndexPath 유형의 매개 변수로 보냅니다. 내가 뭔가 빠진거야? – Memo
죄송합니다. 분명히'objectAtIndexPath :'는 NSIndexPath 객체를 인수로 필요로합니다. 위의 코드를 수정했습니다. 어떤 이유로 든 – jonkroll
이 충돌합니다. GMDiario * tempObj = (GMDiario *) [self.fetchedResultsController objectAtIndexPath : indexPath]; 문제를 어떻게 파악할 수 있습니까? – Memo