There exists an issue that if the NSPersistentStroeCoordinator failed to add a persistent store, then the coordinator was in a bad state. In this case, the code just continued to use that coordinator even though it was in a bad state, and then performing fetches or saves on the coordinator would cause a crash.
The fix only sets the static coordinator upon successfully adding a persistentStore, otherwise leaving it as nil. The second part of this is making it so that if the coordinator is nil, we still allow the code to run to make a new one to it can try and make it again.
There exists an issue that if the
NSPersistentStroeCoordinator
failed to add a persistent store, then the coordinator was in a bad state. In this case, the code just continued to use that coordinator even though it was in a bad state, and then performing fetches or saves on the coordinator would cause a crash.The fix only sets the static coordinator upon successfully adding a persistentStore, otherwise leaving it as nil. The second part of this is making it so that if the coordinator is nil, we still allow the code to run to make a new one to it can try and make it again.