2017-02-11 1 views
0

J'ai un vide statique qui crée un bouton avec une action et je veux que l'action soit aussi un vide statique, mais quand j'essaie de faire le paquet, j'ai une erreur.IBAction en tant que vide statique dans theos

code:

typedef enum { 
    SBIconLocationHomeScreen = 0, 
    SBIconLocationDock  = 1, 
    SBIconLocationSwithcer = 2 
} SBIconLocation; 

static UIButton *okbtn; 

@interface SBApplicationIcon 
- (void)launchFromLocation:(SBIconLocation)location context:(id)arg2; 
@end 

static void AddBtn() 
{ 
    UIWindow *window = [[UIApplication sharedApplication] keyWindow]; 

    okbtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [okbtn addTarget:window action:@selector(checkpw:) forControlEvents:UIControlEventTouchUpInside]; 
    [okbtn setTitle:@"Done" forState:UIControlStateNormal]; 
    [okbtn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal]; 
    okbtn.frame = CGRectMake(0, 0, 160, 40); 
    okbtn.translatesAutoresizingMaskIntoConstraints = NO; 
    [UIView transitionWithView:window duration:0.4 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ 
     [window addSubview:okbtn]; 
    } completion:nil]; 
    [window addConstraints:[NSLayoutConstraint 
          constraintsWithVisualFormat:@"V:|-255-[okbtn(40)]" 
          options:NSLayoutFormatDirectionLeadingToTrailing 
          metrics:nil 
          views:NSDictionaryOfVariableBindings(okbtn)]]; 
    [window addConstraints:[NSLayoutConstraint 
          constraintsWithVisualFormat:@"H:[okbtn(160)]" 
          options:0 
          metrics:nil 
          views:NSDictionaryOfVariableBindings(okbtn)]]; 
    [window addConstraint:[NSLayoutConstraint 
          constraintWithItem:okbtn attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:window attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0.0]]; 
} 

static void checkpw() 
{ 
    //Something 
} 

%hook SBApplicationIcon 
- (void)launchFromLocation:(SBIconLocation)location context:(id)arg2 
{ 
    AddBtn(); 
} 
%end 

Erreur:

Tweak.xm:43:13: error: unused function 'checkpw' [-Werror,-Wunused-function] 
static void checkpw() 

Comment puis-je résoudre ce problème?

+3

S'il vous plaît inclure à la fois l'erreur ainsi que le code réel dans votre question sur le site, ne lient pas aux sites externes pour essentiel contenu. – luk2302

Répondre

0

La question est avec ces deux sections de code:

[okbtn addTarget:window action:@selector(checkpw:) forControlEvents:UIControlEventTouchUpInside]; 

// … 

static void checkpw() 
{ 
    //Something 
} 

Vous utilisez une méthode simple vieux C comme sélecteur. Les sélecteurs ne fonctionnent qu'avec les méthodes Objective-C; vous devrez créer une classe Objective-C et ajouter la méthode à lui:

[okbtn addTarget:[[PasswordChecker alloc] init] action:@selector(checkpw:) forControlEvents:UIControlEventTouchUpInside]; 

// … 

@implementation PasswordChecker 
- (void)checkpw:(NSString *)password { 
    // Something 
} 
@end