Pregunta

Tengo un diccionario con un NSAttributtedString

{
    9 =     {
        9x0 =         {
            UserID = 123;
            formattedMessage = "Hi... How are you ?{\n    CTForegroundColor = \"<CGColor 0x601e460> [<CGColorSpace 0x6010020> (kCGColorSpaceDeviceGray)] ( 0 1 )\";\n    NSFont = \"CTFont <name: Cochin-BoldItalic, size: 17.000000, matrix: 0x0>\\nCTFontDescriptor <attributes: <CFBasicHash 0x6070640 [0x11f8400]>{type = mutable dict, count = 1,\\nentries =>\\n\\t1 : <CFString 0xf4d5c4 [0x11f8400]>{contents = \\\"NSFontNameAttribute\\\"} = <CFString 0x60707f0 [0x11f8400]>{contents = \\\"Cochin-BoldItalic\\\"}\\n}\\n>\";\n}";
            isDeleted = 0;
            isEdited = 0;
            lastModifiedDate = "2011-10-19 17:27:38 +0000";
            message = "Hi... How are you ?";
        };
    };
}

Intenté guardar este diccionario como Plist en la carpeta de documentos y también, guarde el diccionario en NSUserDefaults. Ninguno de los dos funcionó. Ambos métodos funcionan si se elimina la cadena atribuida en el diccionario.

Código utilizado para guardar en PLIST en la carpeta de documentos:

NSString *aDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *aFilePath = [NSString stringWithFormat:@"%@/ChatHistory.plist",aDocumentsDirectory];
BOOL aStatus = [aDictionary writeToFile:aFilePath atomically:YES];

Código utilizado para guardar el diccionario en NSUserDefaults :

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:aDictionary forKey:@"ChatHistory"];

Alguien por favor ayuda. Me estoy perdiendo de algo ?

¿Fue útil?

Solución

Una implementación interesante. Supongo que esta es una solución:

https://devforums.apple.com/message/340283#340283

exploraré esto ahora ..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top