Badal Shah
Badal Shah

Reputation: 7602

IOS Coredata. Is it possible to see saved data without fetching it

I am working on core-data base project. I want to know that is it possible to see which data are saved in coredata without fetching it ?

For example:

I am using this Tutorial to learn coredata. **

Core Data demo from AppCoda

I have implement below method to save the data in Data-model.(coredata)

- (IBAction)save:(id)sender {
NSManagedObjectContext *context = [self managedObjectContext];

// Create a new managed object
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
[newDevice setValue:self.nameTextField.text forKey:@"name"];
[newDevice setValue:self.versionTextField.text forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];

NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
    NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}

[self dismissViewControllerAnimated:YES completion:nil];
} 

but i want to know that, is it possible or is there any way to see what data are saved in my data model without Implement it's fetching method ?

Fetch From Coredata:

enter image description here

Upvotes: 1

Views: 857

Answers (2)

Helge Becker
Helge Becker

Reputation: 3253

During runtime: No. That is due the nature of Core Data. It is an object graph, not a data persistence solution. A fetch doesn't return an object if he can choose.

Outside of your app it depends on the persistence if any. If you decided to go for a sql store, then consider the sql answer. If you did select a different store type, then it depends on the type you went for.

For most projects are basic foundation objects fine since they can be serialized. If you parse an JSON you get foundation objects back. Consider Core Data when you deal with bigger data that need to be searchable even when you don't have the data in memory.

Upvotes: 0

Badal Shah
Badal Shah

Reputation: 7602

Yes. We can see saved data without fetching is . After implement Save method core-data save sql file in Document Directory.

You can print it in nslog with using this Line.

 NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

and you can see full path of document folder printed in log like this.

2015-10-13 12:40:51.253 MyStore[1860:69256] file:///Users/username/Library/Developer/CoreSimulator/Devices/C548BFA2-7B92-42E6-9D64-E16AFF0645D9/data/Containers/Data/Application/9C24913C-B295-4AA1-8DE9-A261CAA21624/Documents/

then you have to go in this folder. with selecting G0-> Go to folder... option.

enter image description here

Then print your Document path in go to folder window.

enter image description here

Note:- you have to write only this code in go to folder. (From ~/Library )

~/Library/Developer/CoreSimulator/Devices/C548BFA2-7B92-42E6-9D64-E16AFF0645D9/data/Containers/Data/Application/9C24913C-B295-4AA1-8DE9-A261CAA21624/Documents

and press GO button.

you will find your sqlfile.

enter image description here

open it with using some sqllite reader software.

SQL Lite pro this is the best software to read .sql file. open your file using it.

and you will see your saved data in it.

enter image description here

Upvotes: 3

Related Questions