- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从 NSData
加载文档(它来 self 应用程序中的 Dropbox
文件,但为了简单起见,下面的示例使用了一个 .txt 文件,这导致了我正在尝试解决的相同问题)。
问题:我实例化一个 NSDictionary,并将其作为输出参数传递给 [NSAttributedString -initWithData:options:documentAttributes:error:]
。
但是,NSDictionary 实例被释放,并导致 -initWithData:options:documentAttributes:error: 崩溃。
当我启用 NSZombie
时,我得到的错误是:[__NSDictionaryI retain]: message sent to deallocated instance
-initWithData:options:documentAttributes:error:
当我将 NULL 传递给 documentAttributes 时运行正常。
代码如下:
NSError* error;
NSString* path = [[NSBundle mainBundle] pathForResource:@"Forward Thinking"
ofType:@"txt"];
NSData* data = [NSData dataWithContentsOfFile:path options:NSDataReadingMappedAlways error:&error];
if (data) {
dispatch_async(dispatch_get_main_queue(), ^{
NSDictionary* documentAttributes = [[NSDictionary alloc] init];
NSAttributedString* attrStr = [[NSAttributedString alloc] initWithData:data options:nil documentAttributes:&documentAttributes error:NULL];
self.textView.attributedText = attrStr;
});
}
任何线索都会很棒!
最佳答案
你不应该分配你传递给这个方法的NSDictionary
。你想要的是:
NSDictionary* documentAttributes;
NSAttributedString* attrStr = [[NSAttributedString alloc] initWithData:data options:nil documentAttributes:&documentAttributes error:NULL];
它正在将 documentAttributes
传递给您。您不会将属性传递给它。
关于ios - NSAttributedString 初始化数据 :options:documentAttributes:error: documentAttributes not retained in ARC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641759/
我正在尝试从 NSData 加载文档(它来 self 应用程序中的 Dropbox 文件,但为了简单起见,下面的示例使用了一个 .txt 文件,这导致了我正在尝试解决的相同问题)。 问题:我实例化一个
根据 Apple's documentationCGPDFDocument 有一个名为 documentAttributes 的变量: var documentAttributes: [AnyHash
我正在尝试用 HTML 字符串填充 UITableView。获取字符串,将它们放入单元格等。一切正常。我想更改我的 NSAttributedText 的字体和字体大小。我写了下面的代码。 我通过第一个
我正在试用新的 iOS 7 API,执行以下代码需要一分钟多的时间! NSLog(@"start encoding"); NSString *htmlBody = @"I am bold and it
我正在尝试使用 RTFDFromRange 方法将 NSAttributedString 转换为 NSData。得到这个: No visible @interface for 'NSAttribute
Xcode 7 正在为看起来像这样的代码生成一堆警告: NSAttributedString *anEntry = ... someData = [anEntry RTFFromRange: NSMa
在 iOS 10 之前,下面的代码给出了正确的结果,但在 iOS 10 之后却没有。不知道 iOS 版本怎么会导致这个问题。 NSString *string = @""; NSError *erro
我是一名优秀的程序员,十分优秀!