2013-02-12 97 views
0

我在学习如何使用属性字符串。这种说法引起了“EXC_BAD_ACCESS”:为什么这会导致字符串stmt崩溃?

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

我阅读文档NSForegroundColorAttributeName是一个NSString的方式,所以后来我试过,但得到了同样的崩溃:

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

而且这并得到了死机一样:

NSString *fcan = NSForegroundColorAttributeName; 

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

+0

我添加了:#import 但仍然是相同的崩溃。 – RobertL 2013-02-13 01:57:12

回答

0

使用较新的NS *常量编译是因为它们的extern存在于头文件中(如果您使用“最新的iOS”SDK构建,但如果您在iOS 6以下的设备上执行此代码,得到你描述的崩溃。

相关问题