iOS使用进度条parsing对象的多次保存

我发现这个非常有趣的方法( parsing:是否有可能跟随PFObject上传的进度 ),我试图快速扩展转换Objective-C类别。 但是我的数值typesunsigned long过度训练。
请看下面的代码 – 它引发exception(行: let progress:Int32 = Int32(100*count/numberOfCyclesRequired) ): 致命错误:浮点值不能转换为Int32,因为它是无限的或NaN 。 我也不知道如何在swift中处理__block前缀,计数变化也会出现在块之外。

 extension PFObject { class func saveAllInBackground(objects: [AnyObject]!, chunkSize:Int, block: PFBooleanResultBlock!, progressBlock:PFProgressBlock) { let numberOfCyclesRequired:Double = Double(objects.count / chunkSize) var count:Double = 0 PFObject.saveAllInBackground(objects, chunkSize: chunkSize, block: block) { (trig:Bool) -> Void in count++ let progress:Int32 = Int32(100*count/numberOfCyclesRequired) progressBlock(progress) } } class func saveAllInBackground(objects: [AnyObject]!, chunkSize:Int, block: PFBooleanResultBlock!, trigger:(Bool) -> Void) { let range = NSMakeRange(0, objects.count <= chunkSize ? objects.count:chunkSize) var saveArray:NSArray = (objects as NSArray).subarrayWithRange(range) var nextArray:NSArray = [] if range.length < objects.count { nextArray = (objects as NSArray).subarrayWithRange(NSMakeRange(range.length, objects.count-range.length)) } PFObject.saveAllInBackground(saveArray) { (succeeded:Bool, error: NSError!) -> Void in if (error == nil && succeeded && nextArray.count != 0) { trigger(true) PFObject.saveAllInBackground(nextArray, chunkSize: chunkSize, block: block, trigger: trigger) } else { trigger(true) block(succeeded,error) } } } } 

感谢您的帮助提前。