При написании кода на Objective-C я наткнулся на нечто очень странное. Когда я добавляю выделенную цель в UISwitch из другого класса, она не вызывается. Но если функция освобождена, она вызывается нормально.
Может ли кто-нибудь объяснить мне это и есть ли способ вызвать выделенную функцию из другого класса в UISwitch?< /p>
Не работает:
@implementation CustomClass : NSObject
-(void) test {
NSLog(@"TEST");
}
@end
UISwitch *uiSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
[uiSwitch addTarget:[CustomClass alloc] action:@selector(test) forControlEvents:UIControlEventValueChanged];
[self addSubview:uiSwitch];
Работает:@implementation CustomClass : NSObject
+(void) test {
NSLog(@"TEST");
}
@end
UISwitch *uiSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
[uiSwitch addTarget:[CustomClass class] action:@selector(test) forControlEvents:UIControlEventValueChanged];
[self addSubview:uiSwitch];
Подробнее здесь: https://stackoverflow.com/questions/793 ... rent-class
UISwitch addTarget не может вызвать выделенную функцию из другого класса ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение