[ad_1]
I’ve received this difficulty when working my code to replace a couple of data. I’ve 138 data.
I’ve set restrict to get 1000 document per one request after which I’ve tried to replace my new column I’ve created:
However I get this error once I save PFObject in background
Error Area=NSCocoaErrorDomain Code=3840 "JSON textual content didn't begin with array or object and possibility to permit fragments not set." UserInfo={NSDebugDescription=JSON textual content didn't begin with array or object and possibility to permit fragments not set.
I discovered this hyperlink with related downside, however appears to be like like that ticket is resolved and closed.
Wanting in my code beneath I’m making an attempt to cycle over 138 data to set new key worth for PFObject after which I reserve it. Usually I do not want such operation, perhaps this occurs due to lot of data had been up to date directly. However simply surprise if that is nonetheless the case in api.
That is my code:
let salaryRepository = SalaryDataRepository(remoteDataSource: SalaryRemoteDataSource(), localDataSource: SalaryLocalDataSource())
salaryRepository.getSalaries(with: nil, payPeriod: nil, paidDateDoesNotExist: false, restrict: 0, skip: 0, completion: { (outcome) in
swap outcome {
case let .success(salaries):
guard let unwrappedSalaries = salaries else {
return
}
var counter = 0
for wage in unwrappedSalaries {
var totalQuote1 = 0.0
if let pfSalary = wage.getPFSalary() {
if let subTotal = pfSalary["subTotal"] as? NSNumber, let unwrappedCustomExchangeRate = pfSalary["customExchangeRate"] as? NSNumber {
if let pfProjectEmployee = pfSalary["projectEmployee"] as? PFObject {
if let pfProjectEmployeeDetails = pfProjectEmployee["projectEmployeeDetails"] as? PFObject {
if let transactionFee = pfProjectEmployeeDetails["transactionFee"] as? NSNumber {
let subTotalQuote = NSNumber.getMultiplying(a: subTotal, b: unwrappedCustomExchangeRate)
let totalQuote = subTotalQuote.afterFee(price: transactionFee)
pfSalary["totalQuote"] = totalQuote
totalQuote1 = totalQuote.doubleValue
print(transactionFee)
counter = counter + 1
}
}
}
pfSalary.saveInBackground { (success, error) in
if error == nil && success == true {
print("SUCCESS:")
print(totalQuote1)
} else {
print("ERROR:")
print(totalQuote1)
}
}
}
}
}
print("whole up to date:")
print(counter)
break
case let .failure(error):
print(error)
break
}
})
[ad_2]
