通知が投稿されたときに別のクラスにあるセレクターを呼び出す方法を知りたいです。私はタブバーコントローラーを使用しています。
、FirstViewController
はタブバー項目SecondViewController
です
Inside `FirstViewController` I have the following
-(void)viewdidload
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchased:) name:kProductPurchasedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(productPurchaseFailed:) name:kProductPurchaseFailedNotification object: nil];
}
- (void)productPurchased:(NSNotification *)notification {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
NSString *productIdentifier = (NSString *) notification.object;
NSLog(@"Purchased: %@", productIdentifier);
[appDelegate.myDownloadablePoemsArray addObject:productIdentifier];
[self.tabBarController setSelectedIndex:3];
}
- (void)productPurchaseFailed:(NSNotification *)notification {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
SKPaymentTransaction * transaction = (SKPaymentTransaction *) notification.object;
if (transaction.error.code != SKErrorPaymentCancelled) {
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Error!"
message:transaction.error.localizedDescription
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil] autorelease];
[alert show];
}
}
上記のコードは正常に動作しています。問題は何ですか、別のビューから同じセレクターメソッドを呼び出したいとします。たとえばSecondViewController
、同じ通知オブザーバーを追加するという名前のビューコントローラーがあります。
ただし、セレクター メソッドは では呼び出されませんFirstViewController
。
内部SecondViewController
には次のものがあります
-(void)viewdidload
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchased:) name:kProductPurchasedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(productPurchaseFailed:) name:kProductPurchaseFailedNotification object: nil];
}
FirstViewController
しかし、私は;からセレコール メソッドを呼び出したいです。
教えてください、それは可能ですか?そして、どうすればそれを行うことができますか?
どうもありがとう