UISwitch addTarget kann eine zugewiesene Funktion aus einer anderen Klasse nicht aufrufen
Posted: 06 Jan 2025, 02:50
Beim Codieren in Objective-C bin ich auf etwas sehr Seltsames gestoßen. Wenn ich einem UISwitch aus einer anderen Klasse ein zugewiesenes Ziel hinzufüge, wird es nicht aufgerufen. Aber wenn die Funktion freigegeben wird, wird sie normal aufgerufen.
Kann mir das jemand erklären und gibt es überhaupt eine Möglichkeit, eine zugewiesene Funktion aus einer anderen Klasse in einem UISwitch aufzurufen?< /p>
Funktioniert nicht:
Funktioniert:
Kann mir das jemand erklären und gibt es überhaupt eine Möglichkeit, eine zugewiesene Funktion aus einer anderen Klasse in einem UISwitch aufzurufen?< /p>
Funktioniert nicht:
Code: Select all
@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];
Code: Select all
@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];