2015-05-20 2 views
4

Я хочу сохранить атрибутированную строку моего UItextview'text. Я попытался преобразовать в строку и сохранить. Но когда я возвращаюсь, чтобы установить text'attributedString, он не работает.Как сохранить NSAttributedString в CoreData

Это, как преобразовать в строку:

var a = String(stringInterpolationSegment: text.attributedText) 
    Data.setValue(a, forKey: "font") 
    Data.managedObjectContext?.save(nil) 

Это, как я вернулся, чтобы установить:

text.attributedText = NSAttributedString(string: size) 

но мой TextView просто показать AttributedSting

{ 
NSFont = "<UICTFont: 0x7fa9fa82aec0> font-family: \"Helvetica Neue\"; font-weight: normal; font-style: normal; font-size: 18.00pt"; 
NSParagraphStyle = "Alignment 0, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (\n 28L,\n 56L,\n 84L,\n 112L,\n 140L,\n 168L,\n 196L,\n 224L,\n 252L,\n 280L,\n 308L,\n 336L\n), DefaultTabInterval 0, Blocks (null), Lists (null), BaseWritingDirection -1, HyphenationFactor 0, TighteningFactor 0, HeaderLevel 0"; 
} 

I» Мне жаль, что я не могу отправлять изображения. Я использую быстро сделать это.

Мои вопросы: Как я могу это сделать? Или есть другой способ сохранить атрибутText?

+0

Возможный дубликат [Хранение базовых данных NSAttributedString] (http://stackoverflow.com/questions/4266226/storing-nsattributedstring-core-data) –

+0

@i_am_jorf этот вопрос, который я прочитал раньше, он пишет object-cI не знаю, как это сделать –

+0

Пожалуйста, обратитесь к ответу pob21 по ссылке i_am_jorf. Это не принятый ответ, но это правильный способ сделать это. Я делаю то же самое в своем приложении (используя Swift). –

ответ

6

атрибут должен выглядеть следующим образом в модели данных.

enter image description here

Заголовочный файл должен быть изменен, чтобы соответствовать этому:

@property (nonatomic, retain) NSAttributedString * attributedText; 

Вот и все. Вы должны иметь возможность сохранять свою атрибутную строку точно так же, как и любые другие атрибуты.

Предположим, что ваша сущность - событие, и у вас есть событие объекта типа Event, вы можете получить к нему доступ как event.attributedText. Вот пример кода Swift:

event.attributedText = NSAttributedString(string: "Hello World") 
let attributedString = event.attributedText 

Сообщите нам, если вы предпочитаете ответ на своем родном языке.

+0

спасибо за ваш совет! Я смущен о том, как сделать файл заголовка, который вы сказали. Быстрое попрошайничество. Упование может быть великодушным с вашей помощью. :-) –

+0

Наконец-то я делаю это. Большое спасибо. –

0

Да, вы можете добавить атрибутText с простым обходным путем.

Добавить атрибут типа Transformable. После создания файла .h измените тип этого атрибута на NSAttributedString. В этом атрибуте вы можете легко сохранить присланную строку.

Надеется, что это помогает .. :)

+0

aha, я сделал это. Спасибо за вашу помощь! :-) –

Смежные вопросы