У меня есть контроллер вида GobanVC. Это добавляет подпредставление, чтобы сделать эффект увеличения. Это прекрасно работает, но когда я вызываю removeSuperview, чтобы избавиться от него, я получаю нераспознанную ошибку селектора:
2010-08-26 10:10:04.014 GoGrinder[4257:207] -[GobanVC _invalidateSubviewCache]: unrecognized selector sent to instance 0x5a2f540
2010-08-26 10:10:04.016 GoGrinder[4257:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GobanVC _invalidateSubviewCache]: unrecognized selector sent to instance 0x5a2f540'
GobanVC является подклассом UIViewController, а не представлением, поэтому я не уверен, почему он получает это сообщение. Я добавляю подпредставление так:
if(magnifier == nil)
{
magnifier = [[MagnifierView alloc] initWithFrame:gobanView.bounds];
magnifier.viewref = gobanView;
[gobanView addSubview:magnifier];
}
gobanView представляет собой IBOutlet UIView.
В штрихах Закруглил я пытаюсь удалить подпредставление вот так:
if(magnifier != nil)
{
[magnifier removeFromSuperview];
[magnifier release];
magnifier = nil;
}
Есть идеи? Кажется, что _invalidateSubviewCache должен быть отправлен к родительскому представлению, которое является UIView. Я не понимаю, почему вместо этого звонят ВК.
Обновление:
gobanVC.view является родителем gobanView. Я добавил дочернее представление с помощью IB, и gobanView - это IBOutlet, к которому он подключен.