Чтение rtf-информации из записей сущностей в NSString - PullRequest
0 голосов
/ 15 декабря 2010

У меня есть объект (названный Song), одним из атрибутов которого являются двоичные данные (поле rtf), которые я использую для хранения диаграмм аккордов или нот о песне. Мне нужно иметь возможность напечатать это поле вместе с другими строковыми полями этой сущности. Я попробовал каждую перестановку этого, я могу думать:

NSAttributedString* myDataTry = [[[NSAttributedString alloc] initWithRTF:myData documentAttributes:NULL]autorelease];

Когда я запускаю это через отладчик, сводка для myDataTry читается «вне области» до следующего разрыва строки, а затем myDataTry читает ноль.

Что мне нужно изменить, чтобы эта штука пошла?

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

Вот что сработало:

NSString *aStr = [[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding];
        NSRange r = [aStr rangeOfString:@"{"];
        NSString *newAStr = [aStr substringFromIndex:r.location];
        NSData *newMyData;
        newMyData = [newAStr dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:1];
        NSAttributedString* myDataTry = [[[NSAttributedString alloc] initWithRTF:newMyData documentAttributes:NULL]autorelease];

Теперь вставьте это в окно со всем остальным!Спасибо за вашу точку в правильном направлении @ ShaggyFrog

1 голос
/ 15 декабря 2010

Ссылка для initWithRTF: documentAttributes: читает:

Возвращает инициализированный объект или ноль, если rtfData не может быть декодирован.

Вы абсолютно уверены, что ваши данные RTF могут быть декодированы?

...