EXPLANATION is here
Http://stackoverflow.com/questions/14296892/nsobjectinaccessibleexception-reason-coredata-could-not-fulfill-a-fault
Here is a detailed explanation of Chinese
http://blog.csdn.net/meegomeego/article/details/17654947
On this issue, we are dealing with 2 functions:
/*returns the object for the specified ID if it is already registered, otherwise it creates a fault corres Pondingto that ObjectID. It never returns nil, and never performs I/O. The object specified by ObjectID was assumed to exist, and if that assumption was wrong the fault may throw a exception whe N used. */-(Nsmanagedobject *) Objectwithid: (Nsmanagedobjectid *) ObjectID; /*returns the object for the specified ID if it's already registered in the context, or faults the object into the Context. It might perform I/O if the data is uncached. If The object cannot is fetched, or does not exist, or cannot is faulted, it returns nil. Unlike-objectwithid:it never returns a fault. */-(nsmanagedobject*) Existingobjectwithid: (nsmanagedobjectid*) ObjectID error: (nserror**) Error ns_available (10_6, 3_ 0);
Let's take a look at the differences between the 2 functions above.
Here are a few words, the first one
iOS cordite read error coredata could not fulfill a fault for ' 0x15b4a870