Mam poniżej kod, aby utworzyć prosty NSButton w osobnej funkcji
-(void)myFunction
{
NSButton *btn = [self createButton:@"Button_Name"];
if(some condition )
{
[btn setEditable:YES];
}
}
- (NSButton*)createButton:(NSString *)buttonName
{
NSButton *btn = [[NSButton alloc] initWithFrame:NSMakeRect(20, 0, 20, 20)];
[btn setButtonType:NSSwitchButton];
[btn setImagePosition:NSImageOnly];
[btn setTarget:self];
[btn setTitle: buttonName];
return btn;
}
W tym samym działa dobrze. Używam tego kodu w dużym projekcie. Działa normalnie lub spowoduje pewien problem. Czy to jest poprawny sposób?
Odpowiedzi:
2 dla odpowiedzi № 1Kilka rzeczy, które chciałbym wnieść do Twojego ogłoszenia:
Mijasz
buttonName
ibuttonTitle
ale nigdy jej nie używa.Tworzysz obiekt typu
NSButton
ale twoja nazwa obiektu jest sprzeczna z konwencją, czytającbtnCell
ktoś się tego spodziewaNSButtonCell
.W powyższym kodzie nie widzę żadnego odniesienia do nowo utworzonego przycisku, a nawet nie dodajesz go do żadnego widoku. (Mam nadzieję, że w twoim prawdziwym Big projekcie nie brakuje ci tych.)