0

我在代码中有这 3 行,它们旨在从 .txt 文件中获取文本并将其分配给NSAttributedString

NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];
NSString *text = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];

NSAttributedString *attString = [[NSAttributedString alloc] initWithString:text];

使用调试器,我知道path正确找到了,并且文本被添加到变量text中,但它没有转换为NSAttributedString- 调试器只是说“变量不是 NSAttributedString”

我在第三行中缺少什么以允许将 NSString 转换为 NSSAttributedString?(我不想要任何属性,但我假设您可以将字符串加载到属性字符串中?)

4

3 回答 3

1

我猜这个问题可能来自其他地方,刚刚尝试过:

NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];
NSString *text = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];

NSAttributedString *attString = [[NSAttributedString alloc] initWithString:text];

NSLog(@"Text : %@\nNSAS : %@", text, attString);

这是输出:

2013-06-10 11:17:04.444 TestsSO[5554:c07] Text : hello, world !
NSAS : hello, world !{
}

你确定text填写正确吗?

于 2013-06-10T09:19:07.753 回答
0

尝试

NSAttributedString *attString = [[NSAttributedString alloc] initWithString:text attributes:nil];

希望它会奏效。

于 2013-06-10T09:23:08.503 回答
0

尝试

NSMutableAttributedString *attri_str=[[NSMutableAttributedString alloc]initWithString:text];


  [attri_str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:15] range:NSMakeRange(0, 15)]; // Begin and Last letter

        [attri_str addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:0/255.0 green:143/255.0 blue:255/255.0 alpha:0.75] range:NSMakeRange(0,25)];

我希望它对你有帮助。

于 2013-06-10T09:43:29.697 回答