Saving Dictionary con una cadena nsattributada en una plist o en nsuserdefaults
-
27-10-2019 - |
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 ?
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