Справка CoreData --- как отлаживать? - PullRequest
0 голосов
/ 28 июня 2011

Я смотрю / делаю курс по iTunes U Stanford для iPhone.(предоставляется бесплатно!).Я нахожусь в программе папарацци, пытающейся выяснить Core Data.

Ниже описано, как я сохраняю данные в coreData, как мне проверить, действительно ли эта информация была сохранена?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    FlickrFetcher *ff = [FlickrFetcher sharedInstance];

    if (![ff databaseExists])
    {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"FakeData" ofType:@"plist"];
        NSArray *data = [NSArray arrayWithContentsOfFile: path];
        NSManagedObjectContext *managedObjectContext = [ff managedObjectContext];
        NSError *error = nil;

        for (NSDictionary *row in data)
        {
            Person *person = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:managedObjectContext];
            Photo *photo = (Photo *)[NSEntityDescription insertNewObjectForEntityForName:@"Photo" inManagedObjectContext:managedObjectContext];

            photo.name = [row objectForKey:@"name"];
            photo.url = [row objectForKey:@"path"];
            person.name = [row objectForKey:@"user"];

            [person addPhotosObject:photo];
        }

        [managedObjectContext save:&error];
    }

1 Ответ

0 голосов
/ 28 июня 2011

В своем коде вы проверяете, является ли error значением nil после отправки сообщения save: в managedObjectContext или, в качестве альтернативы, возвращается ли значение этого выражения YES. Если это так, значит, при сохранении ваших изменений в контексте ошибок не было.

Если вы просто хотите проверить вручную (например, после того, как код уже был запущен ранее), вы, конечно, можете просто открыть базу данных SQLite в каком-либо браузере и проверить, есть ли там данные. SQLite Manager * Расширение 1008 * для Firefox - хороший инструмент для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...