ios - 替换 iOS 9 中的 NSAttributedString initWithFileURL

标签 ios objective-c ios9

我刚刚发现 NSAttributedString 中的 initWithFileURL 在 iOS 9 中已被弃用,我没有看到合适的替代品。

也许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 得到了 nil。我检查了 data 并且不是 nil。

最佳答案

这是 iOS 9 中可用的函数,用于从 NSURL 初始化 NSAttribiuted 字符串

- (instancetype)initWithURL:(NSURL *)url
                options:(NSDictionary<NSString *,
                                 id> *)options
     documentAttributes:(NSDictionary<NSString *,
                                 id> * _Nullable *)docAttributes
                  error:(NSError * _Nullable *)error

它是 link苹果文档

关于ios - 替换 iOS 9 中的 NSAttributedString initWithFileURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32735197/

相关文章:

iphone - 如果 UITableViewCell 不可见则为 nil

ios - 来自 NSObject 类的 MFMailComposeViewController 显示问题 - iOS

ios - MKdirections 在 2 个给定点之间绘制路线

objective-c - 是否可以在现有 XCode 项目 (OS X) 中用 Chromium (CefBrowser) 替换 WebView?

ios - 如何使用仪器和 Javascripts 对 iOS 应用程序进行 UI 自动化测试

objective-c - 使用 Objective-C 对字符串进行 URLEncoding

objective-c - (Cocoa Mac) NSWindowController showWindow 分配/初始化一个新的 NSWindowController?

authentication - iOS - Facebook SDK v3.24.1 登录屏幕为空白,使用 FBSessionLoginBehaviorForcingWebView 时除外

objective-c - UIKeyboardWillShowNotification 不调用,只有 UIKeyboardWillHideNotification 在 iOS 9 中调用

xcode - 位置未打印到控制台(Swift + Xcode 7 + iOS 9)