菜鸟教程小白 发表于 2022-12-12 19:10:09

iphone - 在 UITableView 中创建运行总和


                                            <p><p>我有一个 UITableView 填充(以前通过导航栏中的按钮保存),带有事务。每行有五个 UILabel:日期、描述、人员、值(value)(存款和取款)余额。该表按日期排序。如何获取每日余额?余额是从第一个输入到当前行的总和(+ 和 -)。</p>

<p>我有以下代码(JournalDetail.m),但我只得到与值(value)相同的金额,而不是累积金额(余额)</p>

<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @&#34;Cell&#34;;
GxPolizasL *cell = (GxPolizasL *);

if (cell == nil) {
[ loadNibNamed:@&#34;GxPolizasL&#34; owner:self options:nil];
cell = gxPolizasL;
self.gxPolizasL = nil;
GMDiario *gmDiarioy = (GMDiario *);
//Date value
NSDateFormatter* df = [ init];
;
cell.fechao.text = ;
;
//Description value
cell.referencia.text=gmDiarioy.pzAlias;
//Person value
cell.item.text = gmDiarioy.persona.prAlias;
//Transaction value
NSNumberFormatter* vf = [ init];   
;
cell.valuem.text= ;
;
//This is where the balance value is intended to be created
NSDecimalNumber *saldoAc = ;
NSDecimalNumber *objectExpenseNumber = ;
saldoAc = ;
NSLog(@&#34;saldoAc: %@&#34;,saldoAc);
NSNumberFormatter* af = [ init];
;
cell.valuea.text= ;
;
}
return cell;}
</code></pre>

<p>您能帮我找出实现平衡值的正确方法吗?提前致谢。非常感谢您的帮助。 </p>

<p>这是 self.fetchedResultsController 的代码</p>

<pre><code>- (NSFetchedResultsController *)fetchedResultsController
{
if (__fetchedResultsController != nil) {
return __fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[ init] autorelease];

//Diario is an entity that keeps all transactions
NSEntityDescription *entity = ;
;
;   

//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 = ;
NSLog(@&#34;NSPredicate1 %@&#34;, gmDiario.cuenta);
;
NSSortDescriptor *sortDescriptor = [[ initWithKey:@&#34;pzFecha&#34; ascending:YES] autorelease];
NSArray *sortDescriptors = ;
;
NSFetchedResultsController *aFetchedResultsController = [[ initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil] autorelease];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
NSError *error = nil;
if (!) {
    NSLog(@&#34;Unresolved error %@, %@&#34;, error, );
    abort();}
return __fetchedResultsController;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>基本上你想要做的是:每次调用 <code>cellForRowAtIndexPath:</code> 时,你都想遍历你的数据源数组,并对从数组开头开始到结尾的所有值求和数组项等于相关单元格的第 # 行(即 <code>indexPath.row</code>)。这将为您提供一个运行总计(余额)。</p>

<pre><code>NSDecimalNumber *saldoAc = ;
for (int i=0; i &lt;= indexPath.row; i++) {
    NSIndexPath *indexPath = ;
    GMDiario *tempObj = (GMDiario *);
    NSDecimalNumber *objectExpenseNumber = ;
    saldoAc = ;
}
NSNumberFormatter* af = [ init];
;
cell.valuea.text= ;
;
</code></pre>

<p>另一条评论 - 您应该在退出 <code>if (cell == nil)</code>block 后设置单元格 subview 的值。否则当你的 tableView 开始滚动时你会遇到麻烦。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 在 UITableView 中创建运行总和,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/9042126/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/9042126/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 在 UITableView 中创建运行总和