Merhaba, iphone için yerel bildirim vermeye çalışıyorum. Herhangi bir sorun yok. Ancak şöyle bir şey var ki bir bildirim ayarlandıktan sonra ikinci bir bildirim ayarlandığı zaman birincisi iptal oluyor.

Öncelikle datepicker ile saati ve dakikayı seçtiriyorum ve bunları bir x ve y integer değeri olarak atıyorum. Daha sonra ise x ve y değerlerine bildirim vermesini sağlıyorum. Tabi mantıken x ve y değerleri her bildirim ayarlandığında değişiyor. Ben her yeni bildirim de yeni bir int değeri oluşturmasını istiyorum.

Datepickerdan şu şekilde seçtiriyorum..

 NSDate *today1 = self.date.date;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"HH"];
    NSString *dateString11 = [dateFormat stringFromDate:today1];
    self.zaman.text=dateString11;

    NSDate *today2 = self.date.date;
    NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];
    [dateFormat2 setDateFormat:@"mm"];
    NSString *dateString112 = [dateFormat2 stringFromDate:today2];
    self.zaman2.text=dateString112;

    x = [dateString11 intValue];
    y = [dateString112 intValue];

NSDate component değerlerini şöyle ayarlıyorum.

[component setHour:x];
[component setMinute:y];

dediğim gibi bu şekilde olunca her seferinde bildirim zamanı değişiyor. Datepickerdan seçililirken her seferinde yeni bir int değeri oluşturmasını nasıl sağlarım?

soruldu: 18 Nis '13, 10:19

Salieh's gravatar image

Salieh
2081014
cevap kabul oranı: 0%

değiştirildi: 19 Nis '13, 04:48

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

datepicker nerede duruyor nasıl bir viewin içerisindedir, her seferinde çağırılıyor mu yoksa view da sabit duruyor mu?

(18 Nis '13, 15:09) dreampowder dreampowder's gravatar image

Table view üzerine eklenmiş bir viewin üzerinde dürüyor. Yani her seferinde çağrılmıyor. Sabit.

(19 Nis '13, 03:47) Salieh Salieh's gravatar image

sorun buradaki kodda gözükmüyor, datepicker delegate metodlarınızı da paylaşabilir misiniz? yeni bir int değerinden kastınız nedir ?

datepicker delegate metodundan değer değiştiğinde bu değişen değer üzerinden birşeyler yapmanız gerekiyor. açıkçası sorudan anlayabildiğim kadarı bu kadar, çok açıklayıcı bir soru değil benim açımdan :)

(19 Nis '13, 05:31) dreampowder dreampowder's gravatar image

Soruda belirttiğim gibi kodda bir sorun yok. Bu şekilde kod çalışınca sadece bir int değerine sahip oluyorum. Yeni bir değer atadığımda bunu üstüne yazıyor ve önceki değer doğal olarak kayboluyor ve bildirimi son ayarladığım değer için veriyor. Bu yüzden her seferinde yeni bir int değeri yaratmam gerekiyor.

(19 Nis '13, 05:39) Salieh Salieh's gravatar image

o zaman soru şu şekilde olacak: bir global x ve y değişkeniniz var, her seçim yapıldığında bu global değişkenin o seçilen değeri almasını istiyorsunuz.. o zaman yapılacak şey eski değerlerin de saklandığı bir array tanımlamak. her seçim işlemi tamamlandıktan sonra x ve y değişkenleri bu array'e eklenecek, veya duruma göre bir NSMutableDictionary de tanılmamanız daha mantıklı olur, bu dictionary de key değerleri x ve y ile ayarladığınız "date", value kısmı ise bu tarihte ayarlayacağınız notification stringi olabilir..

(19 Nis '13, 05:59) dreampowder dreampowder's gravatar image

Tüm kodlar şu şekilde.. http://pastie.org/7663729

evet bir x ve y değerim var bu değerler datepicker ile sağlanıyor. Örneğin x değerine 10 y değerine 50 dediğimiz zaman 10.50 de bildirim veriyor. ancak bunu ayarladıktan sonra tekrardan bir x ve y değeri atıyoruz örneğin x 10 ve y 55 şeklinde. Artık bildirimi sadece 10.55 de veriyor ve 10.50deki bildirim iptal oluyor. Tam olarak anlatmak istediğim bu.

(19 Nis '13, 10:40) Salieh Salieh's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

[UIApplication sharedApplication] setScheduledLocalNotifications:[NSArray arrayWithObject:bildirim]];

kullanmak yerine:

[UIApplication sharedApplication] scheduleLocalNotification:bildirim];

kullanmayı deneyin. uygulamaya ait önceki notificationları görmek için:

NSArray* oldNotifications = [UIApplication sharedApplication] scheduledLocalNotifications];

ile eski notificationları kullanabilirsiniz..

Benim düşüncem "setScheduledLocalNotifications" çağrısı yaptığınızda doğrudan uygulamaya ait bütün notificationları setliyorsunuz. burada eskisinin korunmasını istiyorsanız ya önce eskilerini bir array'e çağırıp, yeni notification'u bu array'e (yukarıda oldNotifications diye belirttiğim array'e) ekledikten sonra setScheduledLocalNotifications ile ayarlamak yada en başta yazdığım gibi direkt scheduleLocalNotification ile ilgili yere eklemen gerekiyor.

permanent link

cevaplandı: 19 Nis '13, 17:31

dreampowder's gravatar image

dreampowder
3.3k112849
cevap kabul oranı: 23%

Evet sanırım böyle daha iyi oldu. :) Teşekkür ederim.

(19 Nis '13, 17:45) Salieh Salieh's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×45
×9

Soruldu: 18 Nis '13, 10:19

Görüntüleme: 740 kez

Son güncelleme: 19 Nis '13, 17:45

powered by BitNami OSQA