ios - 可以存储(或恢复)包含 NSTextAttachment 的 NSAttributedString 吗?
<p><p>我正在编写一个文本编辑器,用户可以使用它输入带有样式的文本并插入图像,所以我使用 NSAttributedString 来管理内容。我的问题是如何存储文本编辑器关闭之前的内容,并在下次打开编辑器后恢复内容?</p>
<p>我写了一个 NSAttributedString 类别,现在我可以在 NSTextAttachment 中存储(和恢复)文本但不能存储 UIImageView,下面是我的代码的一部分:</p>
<pre><code>-(NSData*)customEncode {
__block NSMutableArray* archivableAttributes=[init];
) options:0 usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) {
NSLog(@"range: %d %d",range.location, range.length);
NSLog(@"dict: %@",attrs);
NSLog(@"keys: %@", );
NSLog(@"values: %@", );
NSMutableDictionary* tDict=[init];
forKey:@"location"];
forKey:@"length"];
for (NSString* tKey in ) {
if () {
)] forKey:@"CTUnderlineColor"];
}
if () {
NSNumber* underline=;
;
}
if () {
)] forKey:@"CTForegroundColor"];
}
if () {
CTFontRef font=((__bridge CTFontRef));
NSDictionary* fontDict=[NSDictionary
dictionaryWithObjects:
, nil]
forKeys:
];
;
}
}
;
}];
NSMutableDictionary* archiveNSMString=[NSMutableDictionary
dictionaryWithObjects: ,archivableAttributes,nil]
forKeys:];
NSLog(@"archivableAttributes array: %@",archiveNSMString);
NSData* tData=;
NSLog(@"tdata: %@",tData);
return tData;
</code></pre>
<p>}</p>
<p>我花了相当长的时间进行调查和实验,搜索显示有几个人有相同的问题,但没有令人满意的答案。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>最后,我使用了一个名为 <a href="https://github.com/ibireme/YYText/blob/3d31ec54d7c3650dc1651b358ad2b3ede30568a4/YYText/String/YYTextArchiver.h" rel="noreferrer noopener nofollow">YYTextArchiver</a> 的 NSKeyedArchiver 子类。直接序列化 NSAttributedString,它对我有用。</p></p>
<p style="font-size: 20px;">关于ios - 可以存储(或恢复)包含 NSTextAttachment 的 NSAttributedString 吗?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/36465761/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/36465761/
</a>
</p>
页:
[1]