Мой собственный (новый) класс не найден после обновления xcode - PullRequest
2 голосов
/ 18 августа 2010

Я разрабатываю приложение для iPhone. Вчера я обновил свой xcode до последней версии и очистил папки сборки (удалил его), затем создал новый класс (ничего особенного):

@interface EnemyFactory : NSObject {

}
+(Enemy *)properReferenceForName: (NSString *) name;
@end

Реализация тривиальна и не важна. Что происходит сейчас: У меня есть что-то вроде этого:

Enemy *tempEnemy = [EnemyFactory properReferenceForName:@"enemyname"];

Но код никогда не достигает функции ProperReferenceForName. У меня есть EXC_BAD_ACCESS с таким стеком:

0   0x02a95e2b in realizeClass
1   0x02a96dad in _class_getNonMetaClass
2   0x02a90eb0 in _class_initialize
3   0x02a961f6 in prepareForMethodLookup
4   0x02a8f6c9 in lookUpMethod
5   0x02a8f836 in _class_lookupMethodAndLoadCache
6   0x02a9dad3 in objc_msgSend
7   0x0000595d in -[GameLayer newEnemy:] at GameLayer.m:368

До обновления. Xcode не выдает предупреждений или ошибок. Символы объявлены. Что интересно, так это то, что все идет хорошо, когда я отлаживаю шаг за шагом весь вызов ... Я застрял с этим на 8 часов.

Обновление 1:

[[EnemyFactory alloc] init] выдает ту же ошибку

Обновление 2:

Когда я делаю это: [EnemyFactory alloc] в каком-то мастер-классе во время инициализации все идет в полете.

Ответы [ 2 ]

0 голосов
/ 24 августа 2010

Если код никогда не достигает вашего метода класса, проблема в том, где начинается трассировка стека, т.е. [GameLayer newEnemy:]

Найдите объекты, которые вам могут понадобиться сохранить, но которые не сохраняются в методе newEnemy.

0 голосов
/ 18 августа 2010

Посмотрите на строку GameLayer.m 368, что-то связанное с [GameLayer newEnemy:].Я не вижу ничего плохого в коде, который вы разместили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...