Я полный noob для программирования на iPhone, и я столкнулся с тем исключением, что я просто не могу обмотать голову.NSMutableDictionary бросает a doesNotRecognizeSelector в objectForKey?
Справочная информация. Ошибка происходит в пользовательском подзапросе и происходит сразу после загрузки программы. Я получаю исключение, заброшенное в переопределенном методе drawRect. Код метание ошибки следующим образом:
- (void)drawRect:(CGRect)rect{
NSNumber *points = [NSNumber numberWithInt: star.numberOfPoints];
//HERE. Doesn't recognize selector?!
CGPathRef t = (CGPathRef)[starPaths objectForKey:points];
/*snip*/
starPaths инициализируется в awakeFromNib как NSMutableDictionary с мощностью 1.
Исключение становится брошено это - [NSObject doesNotRecognizeSelector:]
starPaths объявлен в заголовочный файл для представления в качестве
NSMutableDictionary *starPaths;
и инициализируется как
- (void)awakeFromNib{
starPaths = [NSMutableDictionary dictionaryWithCapacity: 1];
}
Наконец, я не смог добраться до точки в коде, где я успешно добавляю элементы в словарь, поскольку код для добавления записи основан на получении ответа от словаря, чтобы узнать, что эта конкретная запись должна быть построена.
Любые предложения? Любая другая информация, которую я должен предоставить? Любая помощь вообще была бы оценена по достоинству, я чувствую, что мне не хватает чего-то очевидного, но я не могу ударить головой весь день.
Не могли бы вы разместить соответствующую часть awakeFromNib, где starPaths инициализируется? – marcc
Также объявление переменной экземпляра для starPaths. Есть ли места, где вы успешно добавляете пары ключ-значение в словарь с -setObject: forKey: и т. Д.? –