2012-05-08 7 views
0

私のアプリケーションでプッシュ通知を使用しました。通知が届くと、ペイロードにいくつかの値が得られ、アプリケーションの値を更新する必要があります。私はすべてのビューで量ラベルを持っているので、私は通知を受け取った後に金額を更新する必要があります。しかし、問題は、値が即座に更新されないことです。その後、ビューが更新されると、そのビューにナビゲートします。私は即座に価値を更新したいのですが、どうすればいいのですか?iPhoneでプッシュ通知を取得した後すぐに値を更新するには?

-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ 

      NSString *getAmt =[[userInfo valueForKey:@"aps"] valueForKey:@"Amount"]; 
      float totalAmt = [getAmt floatValue] + [amt floatValue]; 
      NSString *finalAmount = [NSString stringWithFormat:@"%.02f",totalAmt]; 
      [[NSUserDefaults standardUserDefaults] setObject:finalAmount forKey:@"amount"]; 
      [self.viewController.view setNeedsDisplay]; 
} 

金額ラベルに金額を表示するためにNsuserdefault値を使用しています。今度は、値が変更されます。その後、ビューが更新されると、そのビューにナビゲートします。しかし、通知を受けた後、私のアプリケーションで即座に値を更新したい。だから私を助けてください。

ありがとうございます!

答えて

1

使用NSNoticationおよび方法は、あなたがプッシュ通知を受信したとき、その通知を掲載し、この方法では更新が、あなたがこの目的のためにNSNotificationCenterを使用することができます

1

まあ値、実装されたクラスのメソッドに対して通知を追加。..

登録するあなたは、このように@"NotificaitonRecivied" ためNSNotificationCenterUIViewControllerを希望:あなたはREC時はいつでも今

[[NSNotificationCenter defaultCenter] addObserver:self 
               selector: @selector(updateAmount:) 
                name: @"NotificaitonRecivied" 
                object: nil]; 

単にこのような通知をブロードキャストし、任意の更新量をeive:

[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificaitonRecivied" object:nil]; 

updateAmount:量はどのView

にそれを設定する NSUserDefaultsからあなたの量を読むための方法となります