我正在尝试学习如何使用属性字符串。这条语句导致了一个"EXC_BAD_ACCESS":
NSDictionary *attDict = @{ NSForegroundColorAttributeName : [UIColor redColor] };我阅读文档NSForegroundColorAttributeName的方式是一个NSString,所以我随后尝试了一下,但得到了相同的崩溃:
NSLog(@"NSForegroundColorAttributeName: %@", NSForegroundColorAttributeName );还有这个,并且得到了同样的崩溃:
NSString *fcan = NSForegroundColorAttributeName;所以看起来任何提到NSForegroundColorAttributeName都会导致崩溃。我确实尝试过其他xxxAttributeNames,它们也做同样的事情。我正在导入UIKit/UIkit.h。没有编译器警告,也没有运行时消息。我遗漏了什么?是否还有其他需要导入或分配的内容?我是不是整个概念都错了?我不认为有任何苹果代码样本涵盖了这一点。
发布于 2013-02-18 14:00:19
使用较新的NS*常量可以编译,因为它们的外部元素出现在头文件中(如果您使用"Latest iOS“SDK构建,但如果您在没有iOS 6但更低版本的设备上执行此代码,则会出现您所描述的崩溃。
https://stackoverflow.com/questions/14825337
复制相似问题