我发现iOS 9中不推荐使用来自 NSAttributedString 的 initWithFileURL ,而且我没有看到正确替换它。
也许initWithData
?如何从 rtf 文件中加载文字,我该如何调整此代码。
_text = [[NSAttributedString alloc] initWithFileURL:fileURL
options:nil
documentAttributes:nil
error:&error];
修改
我现在正在做的是:
- (void)loadText
{
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:self.rtfFile withExtension:nil];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:[fileURL path]];
NSError *error = nil;
_text = [[NSAttributedString alloc] initWithData:data
options:@{NSDocumentTypeDocumentAttribute:NSRTFTextDocumentType}
documentAttributes:nil
error:&error];
}
但_text
没有问题。我检查了data
并且不是零。
答案 0 :(得分:1)
此功能在iOS 9中可用于从NSURL初始化NSAttribiuted String
- (instancetype)initWithURL:(NSURL *)url
options:(NSDictionary<NSString *,
id> *)options
documentAttributes:(NSDictionary<NSString *,
id> * _Nullable *)docAttributes
error:(NSError * _Nullable *)error
它是Apple文档的link
答案 1 :(得分:0)
首先将您的URLFile转换为NSData
NSData *data = [NSData dataWithContentsOfURL:URLFILE];
然后使用NSAttributedString的这个方法
initWithData:options:documentAttributes:error:
可能这个解决方案会对你有帮助。