2013-02-12 2 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

ответ

0

Использование новых NS * констант компилируется, потому что extern для них присутствует в заголовке (если вы создаете с помощью «Последнего iOS» SDK, но если вы выполните этот код на устройстве, у которого нет iOS 6, но ниже, то вы получите сообщение об ошибке.

Смежные вопросы