@@ -61,7 +61,7 @@ public extension Sequence where Element: ParseObject {
6161
6262 /**
6363 Saves a collection of objects *synchronously* all at once and throws an error if necessary.
64- - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched
64+ - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched.
6565 is greater than the `batchLimit`, the objects will be sent to the server in waves up to the `batchLimit`.
6666 Defaults to 50.
6767 - parameter transaction: Treat as an all-or-nothing operation. If some operation failure occurs that
@@ -126,7 +126,7 @@ public extension Sequence where Element: ParseObject {
126126 if transaction {
127127 batchLimit = commands. count
128128 } else {
129- batchLimit = limit != nil ? limit! : ParseConstants . batchLimit
129+ batchLimit = limit ?? ParseConstants . batchLimit
130130 }
131131 let batches = BatchUtils . splitArray ( commands, valuesPerSegment: batchLimit)
132132 try batches. forEach {
@@ -143,7 +143,7 @@ public extension Sequence where Element: ParseObject {
143143
144144 /**
145145 Saves a collection of objects all at once *asynchronously* and executes the completion block when done.
146- - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched
146+ - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched.
147147 is greater than the `batchLimit`, the objects will be sent to the server in waves up to the `batchLimit`.
148148 Defaults to 50.
149149 - parameter transaction: Treat as an all-or-nothing operation. If some operation failure occurs that
@@ -163,8 +163,12 @@ public extension Sequence where Element: ParseObject {
163163 callbackQueue: DispatchQueue = . main,
164164 completion: @escaping ( Result < [ ( Result < Element , ParseError > ) ] , ParseError > ) -> Void
165165 ) {
166- let queue = DispatchQueue ( label: " com.parse.saveAll " , qos: . default,
167- attributes: . concurrent, autoreleaseFrequency: . inherit, target: nil )
166+ let uuid = UUID ( )
167+ let queue = DispatchQueue ( label: " com.parse.saveAll. \( uuid) " ,
168+ qos: . default,
169+ attributes: . concurrent,
170+ autoreleaseFrequency: . inherit,
171+ target: nil )
168172 queue. sync {
169173
170174 var childObjects = [ String: PointerType] ( )
@@ -220,7 +224,7 @@ public extension Sequence where Element: ParseObject {
220224 if transaction {
221225 batchLimit = commands. count
222226 } else {
223- batchLimit = limit != nil ? limit! : ParseConstants . batchLimit
227+ batchLimit = limit ?? ParseConstants . batchLimit
224228 }
225229 let batches = BatchUtils . splitArray ( commands, valuesPerSegment: batchLimit)
226230 var completed = 0
@@ -361,7 +365,7 @@ public extension Sequence where Element: ParseObject {
361365
362366 /**
363367 Deletes a collection of objects *synchronously* all at once and throws an error if necessary.
364- - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched
368+ - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched.
365369 is greater than the `batchLimit`, the objects will be sent to the server in waves up to the `batchLimit`.
366370 Defaults to 50.
367371 - parameter transaction: Treat as an all-or-nothing operation. If some operation failure occurs that
@@ -390,7 +394,7 @@ public extension Sequence where Element: ParseObject {
390394 if transaction {
391395 batchLimit = commands. count
392396 } else {
393- batchLimit = limit != nil ? limit! : ParseConstants . batchLimit
397+ batchLimit = limit ?? ParseConstants . batchLimit
394398 }
395399 let batches = BatchUtils . splitArray ( commands, valuesPerSegment: batchLimit)
396400 try batches. forEach {
@@ -404,7 +408,7 @@ public extension Sequence where Element: ParseObject {
404408
405409 /**
406410 Deletes a collection of objects all at once *asynchronously* and executes the completion block when done.
407- - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched
411+ - parameter batchLimit: The maximum number of objects to send in each batch. If the items to be batched.
408412 is greater than the `batchLimit`, the objects will be sent to the server in waves up to the `batchLimit`.
409413 Defaults to 50.
410414 - parameter transaction: Treat as an all-or-nothing operation. If some operation failure occurs that
@@ -439,7 +443,7 @@ public extension Sequence where Element: ParseObject {
439443 if transaction {
440444 batchLimit = commands. count
441445 } else {
442- batchLimit = limit != nil ? limit! : ParseConstants . batchLimit
446+ batchLimit = limit ?? ParseConstants . batchLimit
443447 }
444448 let batches = BatchUtils . splitArray ( commands, valuesPerSegment: batchLimit)
445449 var completed = 0
@@ -633,9 +637,12 @@ extension ParseObject {
633637 internal func ensureDeepSave( options: API . Options = [ ] ,
634638 completion: @escaping ( [ String : PointerType ] ,
635639 [ UUID : ParseFile ] , ParseError ? ) -> Void ) {
636-
637- let queue = DispatchQueue ( label: " com.parse.deepSave " , qos: . default,
638- attributes: . concurrent, autoreleaseFrequency: . inherit, target: nil )
640+ let uuid = UUID ( )
641+ let queue = DispatchQueue ( label: " com.parse.deepSave. \( uuid) " ,
642+ qos: . default,
643+ attributes: . concurrent,
644+ autoreleaseFrequency: . inherit,
645+ target: nil )
639646
640647 queue. sync {
641648 var objectsFinishedSaving = [ String: PointerType] ( )
0 commit comments