我在代码中有这三行,用于从.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? (我不想要任何属性,但我假设您可以将字符串加载到属性字符串中?)
答案 0 :(得分: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
填写正确吗?
答案 1 :(得分:0)
尝试
NSAttributedString *attString = [[NSAttributedString alloc] initWithString:text attributes:nil];
希望它能奏效。
答案 2 :(得分: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)];
我希望对你有帮助。