Преобразование из столбца базы данных sqlite (char *) в NSPropertyList? - PullRequest
1 голос
/ 05 марта 2012

У меня есть следующий фрагмент кода, который я использую для десериализации некоторых данных, хранящихся в базе данных sqlite3, которые были восстановлены с помощью утилиты адресной книги iphone.

if (strcmp(azColName[i], "ZADDRESSES") == 0) {
    NSData *data;
    NSString *error;
    data = [NSData dataWithBytes:argv[i] length:strlen(argv[i])];
    NSPropertyListFormat format;

    NSMutableArray *emails  = [NSPropertyListSerialization 
                                propertyListFromData:data
                                mutabilityOption:NSPropertyListImmutable 
                                format:&format 
                                errorDescription:&error];

    NSString *content = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];

azColName [i] из базы данных sqllite (char *). Этот код является частью обратного вызова БД. При осмотре кажется, что это какой-то список:

2012-03-05 00:57:22.467 exporter[20488:707] ZADDRESSES = bplist00‘JKT$topX$objectsX$versionY$archiver—Troot .. and so on ... 

К сожалению, это преобразование всегда терпит неудачу. Ошибка заполняется «Преобразование строки не удалось. Строка пуста.»

Объект данных не имеет проблем, но десериализация завершается неудачно. Почему он считает, что строка здесь пуста?

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