При написании кода в Objective-C. Я наткнулся на что-то очень странное, когда добавлял выделенную цель в UISwitch из другого класса. Она не вызывается, но если функция освобождена, она вызывается нормально.
Может кто-нибудь объяснить мне это, и есть ли способ вызвать выделенную функцию из другого класса в UISwitch?< /p>
// doesnt work
@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];
// works
@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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение