私はNSPopUpButtonを持っていますが、初めて起動するときに最初の値が正しく設定されません。 awakeFromNibを設定しましたが、NSPopUpMenuは空です。 2回目以降は正しく動作します。 ありがとうございます。あなたがregisterDefaultsを使用する必要があるように私には聞こえる最初の起動時にNSPopUpButtonを設定します
-(IBAction)chancepesoalert:(id)sender{
int selection = [(NSPopUpButton *)sender indexOfSelectedItem];
NSNumber *valore = [NSNumber numberWithUnsignedLongLong:(30*1000*1000)];
if (selection == 0) {
valore = [NSNumber numberWithUnsignedLongLong:(30*1000*1000)];
NSLog(@"Selezionato 0");
}
if (selection == 1){
valore = [NSNumber numberWithUnsignedLongLong:(50*1000*1000)];
NSLog(@"Selezionato 1");
}
if (selection == 2){
valore = [NSNumber numberWithUnsignedLongLong:(75*1000*1000)];
NSLog(@"Selezionato 2");
}
if (selection == 3){
valore = [NSNumber numberWithUnsignedLongLong:(100*1000*1000)];
NSLog(@"Selezionato 3");
}
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:valore forKey:@"SetPesoAlert"];
[userDefaults synchronize];
}
-(void)awakeFromNib {
unsigned long long value = [[[NSUserDefaults standardUserDefaults] objectForKey:@"SetPesoAlert"] unsignedLongValue];
int index;
if (value == (30*1000*1000)) {
index =0;
}
if(value == (50*1000*1000)) {
index =1;
}
if(value == (75*1000*1000)) {
index =2;
}
if(value == (100*1000*1000)) {
index =3;
}
[pesoalert selectItemAtIndex:index];
}
私はあなたが何を求めているのか分かりません。最初にアプリを起動したときにポップアップで何をしたいですか?どのようにメニュー項目をポップアップメニューに入れていますか? – rdelmar
私は、index = 0のデフォルトのアプリケーションの最初の開始と2回目と次のユーザーが選択したものをデフォルトにしたいと考えています。 これでindex = 0が選択されましたが、正しく動作しません。 – Joannes