为什么这会归因于字符串stmt崩溃?

时间:2013-02-12 04:24:35

标签: nsattributedstring

我正在尝试学习如何使用属性字符串。该声明引起了" EXC_BAD_ACCESS":

NSDictionary *attDict = @{ NSForegroundColorAttributeName : [UIColor redColor] };

我阅读文档的方式NSForegroundColorAttributeName是一个NSString,所以我尝试了这个但是遇到了同样的崩溃:

NSLog(@"NSForegroundColorAttributeName: %@", NSForegroundColorAttributeName );

并且这也发生了同样的崩溃:

NSString *fcan = NSForegroundColorAttributeName;

所以看起来任何提及NSForegroundColorAttributeName都会导致崩溃。我确实尝试了其他xxxAttributeNames,他们做了同样的事情。我正在导入UIKit / UIkit.h。没有编译器警告和运行时消息。我错过了什么?我需要导入或分配其他东西吗?我有整个概念错了吗?我不认为有任何Apple代码示例可以涵盖这一点。

1 个答案:

答案 0 :(得分:0)

使用较新的NS *常量编译,因为它们的extern存在于标题中(如果使用“Latest iOS”SDK构建,但是如果您在没有iOS 6但是更低的设备上执行此代码,则会得到你描述的崩溃。