У меня есть метод класса, где я хочу выполнить этот фрагмент кода ниже. проблема в том, что в методе класса вы не можете использовать что-то вроде self.view. поэтому я немного застрял здесь. Я нашел некоторые вещи об использовании [self class], но я действительно не понимаю, как использовать это в своей части кода.использовать самостоятельно в классе метод
for (UIView *view in [self.view subviews])
{
if([view isKindOfClass:[Circle class]]) {
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationCurveLinear animations:^{
view.alpha = 0;
view.frame = CGRectMake(self.view.frame.size.width/2-35, self.view.frame.size.height/2-35, 70, 70);
} completion:nil];
[view performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.4];
} else {
//
}
}
UPDATE с дополнительной информацией
У меня есть класс Circle. в этом классе у меня есть этот метод
- (IBAction)playerTap:(id)sender {
NSString *numberString;
numberString = [NSString stringWithFormat:@"%i",indexNumber+1];
if (indexNumber < 14)
{
if ([label.text isEqualToString:numberString])
{
[UIView animateWithDuration:0.1 animations:^{
self.transform = CGAffineTransformMakeScale(1.2, 1.2);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.05 animations:^{
self.transform = CGAffineTransformIdentity;
self.alpha = 0.2;
} completion:nil];
}];
++indexNumber;
}
} else {
self.alpha = 0.2;
[NUMViewController gameHasEnded];
}
}
когда indexNumber (статическая переменная) достигает определенного количества, я хочу метод в моем NUMViewController класса должны быть выполнены. И.Е. метод «gameHasEnded».
это будет метод с кодом в начале этого сообщения. он удалит все остальные экземпляры круга из представления.
метод класса казался наиболее логичным для меня, потому что я не выполняю метод на объекте circle, но он затрагивает все объекты в моем другом классе.
да я понимаю. Я добавил дополнительную информацию о своих намерениях. но я не уверен, как это сделать с помощью метода экземпляра. Я продолжаю получать нераспознанные ошибки выбора. –
Вы должны переместить 'indexNumber' в класс модели (вероятно, одноэлементный объект), возможно, что-то вроде' Game'. Когда индекс достигает 0, 'Game' отправляет уведомление, например' GameEndedNotification'. Контроллер вида будет наблюдать это и избавиться от его взглядов. Ключевым моментом здесь является разделение классов Model, View и Controller. Но здесь нет причин для методов класса или статических переменных. –
ОК спасибо. Я попробую. вся эта вещь MVC все еще несколько расплывчата, чтобы я мог правильно понять. –