UISwitch addTarget не может вызвать выделенную функцию из другого классаIOS

Программируем под IOS
Anonymous
UISwitch addTarget не может вызвать выделенную функцию из другого класса

Сообщение Anonymous »

При написании кода на 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

Вернуться в «IOS»