Skip to content

Increment by 1, return current

Atomically increments by one the current value and returns the updated (current) value of the counter. Multiple concurrent client requests are guaranteed to return unique updated value.

- (void)incrementAndGetWithCounterName:(NSString * _Nonnull)counterName responseHandler:^(NSInteger)responseHandler errorHandler:^(Fault * _Nonnull)errorHandler;
func incrementAndGet(counterName: String, responseHandler: ((Int) -> Void)!, errorHandler: ((Fault) -> Void)!)

where:

Argument                Description
counterName name of the counter to increment.

Example

[Backendless.shared.counters incrementAndGetWithCounterName:@"MyCounter" responseHandler:^(NSInteger value) {
    NSLog(@"Current value = %li", value);
} errorHandler:^(Fault *fault) {
    NSLog(@"Error: %@", fault.message);
}];

//

id<IAtomic> myCounter = [Backendless.shared.counters ofCounterName:@"MyCounter"];
[myCounter incrementAndGetWithResponseHandler:^(NSInteger value) {
    NSLog(@"Current value = %li", value);
} errorHandler:^(Fault *fault) {
    NSLog(@"Error: %@", fault.message);
}];
Backendless.shared.counters.incrementAndGet(counterName: "MyCounter", responseHandler: { value in
    print("Current value = \(value)")
}, errorHandler: { fault in
    print("Error: \(fault.message ?? "")")
})

//

let myCounter = Backendless.shared.counters.of(counterName: "MyCounter")
myCounter.incrementAndGet(responseHandler: { value in
    print("Current value = \(value)")
}, errorHandler: { fault in
    print("Error: \(fault.message ?? "")")
})

Codeless Reference

codeless_atomic_counters_increment_1_return_current

where:

Argument                Description
counter name Name of the counter whose value must be incremented.
increment by Specify the number to increment the value by.
return current value When this box is checked, the operation returns the current value of the counter.

Returns the current value of the counter.

Consider the following counter:

codeless_atomic_counters_increment_1_return_previous_2

The example below increments the value of the "CarsParkingLot" by 1. This operation returns 1, since the return current value box is checked.

codeless_atomic_counters_increment_1_return_current_2

The result of this operation will look as shown below after the Codeless logic runs:

codeless_atomic_counters_increment_1_return_previous_4