2013-02-12 96 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以下的設備上執行此代碼,得到你描述的崩潰。

相關問題