在 for 循环中添加整数并打印总数

Posted

技术标签:

【中文标题】在 for 循环中添加整数并打印总数【英文标题】:Adding integers in for loop and printing the total 【发布时间】:2016-08-18 19:55:55 【问题描述】:

我正在循环遍历整数对象并希望将每个整数添加到一个整数变量中,然后当 for 循环完成时,打印总数。是否有捷径可寻?现在,我可以检索对象并单独打印它们,但每次总打印为 0。 请看下面的代码。这是针对以 Parse 作为后端的 Swift 编写的应用程序。 有什么帮助,谢谢!

var itemsArray = [Int]()
let followingUserItemsQuery = PFUser.query()
followingUserItemsQuery?.whereKey("objectId", equalTo: (PFUser.currentUser()?.objectId!)!)
followingUserItemsQuery?.findObjectsInBackgroundWithBlock( (objects: [PFObject]?, error) in
                if let objects = objects 
                for object in objects 
                let followingUsersArray = (object["following"] as! [String])
                // Get number of listed items of following users with PFUser query for their total objects
                    for followingUser in followingUsersArray 
                        print(followingUser)
                        let query = PFUser.query()
                        query?.whereKey("objectId", equalTo: followingUser)
                        //Get each user's listedItems count then append to a higher-level integer variable
                        query?.getFirstObjectInBackgroundWithBlock( (object, error) in
                            itemsArray.append(object!["listedItems"] as! Int)
                        )
                    
                
            
            let itemsSum = itemsArray.reduce(0, combine: +)
            print(itemsSum)
            self.followingUsersAddedItems.text = String("Your followers listed "+String(itemsSum)+" items")

【问题讨论】:

将您的 let itemsSum = ... 移至 findObjectsInBackgroundWithBlock 并了解有关同步与异步功能的更多信息 【参考方案1】:

试试这个:

var count = 0
...
for followingUser in followingUsersArray 
    count += object!["listedItems"] as! Int

【讨论】:

【参考方案2】:

您减少/组合Int 值的代码是正确的。问题是它在任何嵌套的异步 Parse 查询完成并执行其回调之前运行。所以在它运行的时候,itemsArray 仍然是空的。您将需要重新设计您的代码,以便仅在所有各种嵌套 Parse 查询全部完成后计算itemsSum

【讨论】:

以上是关于在 for 循环中添加整数并打印总数的主要内容,如果未能解决你的问题,请参考以下文章

在数组c#for循环中添加正负整数之和

For循环不打印游标中的最后一条记录

如何在 Jinja python 的 for 循环中添加变量

用嵌套的for循环编写程序,要求通过这个嵌套的循环在屏幕上打印下列图案:

如何在核心数据中添加每个对象的十进制值以得出总数?

在 Python 中使用 for 循环在日期列中添加前导零