0

こんにちはみんな私は問題があります

私のコードでは、今日の日付で日付ピッカーを設定しました。その後、ユーザーがピッカーを変更した場合、ピッカーの日付でアラームが鳴るように設定しました。

これらの日付で「ピッカーをブロック」するにはどうすればよいですか?

ここに私のコード、あなたの助けを願っています

NSDate *pickerDate = [NSDate date];

NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];


// Divisione della data in fattori
NSDateComponents *dateComponents = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit )
                                               fromDate:pickerDate];
NSDateComponents *timeComponents = [calendar components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit )
                                               fromDate:pickerDate];
// Set Up dell'alarme considerando tutti i fattori
NSDateComponents *dateComps = [[NSDateComponents alloc] init];
[dateComps setDay:[dateComponents day]];
[dateComps setMonth:[dateComponents month]];
[dateComps setYear:[dateComponents year]];
[dateComps setHour:[timeComponents hour]];
[dateComps setMinute:[timeComponents minute]];
//Notifica in meno di un minuto
[dateComps setSecond:0];
NSDate *itemDate = [calendar dateFromComponents:dateComps];
[dateComps release];
[alarmDatePickerUno setDate:itemDate animated:YES];
[alarmDatePickerDue setDate:itemDate animated:YES];

   }


 // ALARM UNO
 // Set Allarme Uno

 -(IBAction)setAlarmUno:(id)sender{

NSLog(@"picker in allarme");

NSCalendar *currentCalendar = [NSCalendar currentCalendar]; 

//Setting dell'allarme in base al picker
AlarmDateUno = [alarmDatePickerUno date];
NSLog(@"allarme settata alle");
NSLog(@"%@", AlarmDateUno);
4

1 に答える 1

1
alarmDatePickerUno.userInteractionEnabled = NO;
alarmDatePickerDue.userInteractionEnabled = NO;

明確化後に編集

アプリの起動の間に日付を使用する場合は、何らかの方法で日付を保持する必要があります。を使用することをお勧めしNSUserDefaultsますが、Core Data のより複雑なソリューションを使用することもできます。あなたを使用すると、保存された値NSUserDefaultsを作成するたびにチェックUIDatePickerし、それを使用してピッカーを初期化します。

// Get the date
NSDate *unoDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"PickerUnoKey"];
if (unoDate) { // If we have a persisted date, we set the date of the datePicker
    [alarmDatePickerUno setDate:unoDate animated:NO];
}

次に、ユーザーがピッカーの値を変更したときに、新しい値を保存する必要があります。

// When the datePicker value has changed, we store the value
[[NSUserDefaults standardUserDefaults] setObject:alarmDatePickerUno.date forKey:@"PickerUnoKey"];
于 2012-04-05T21:21:07.203 に答える