Ha-ii, я делаю покупку в приложении в своем приложении, мне нужно отключить кнопку, когда покупка контента в приложении будет успешной, поэтому я поставил NSuserdefault к моему коду для определения погоды его успеха или нет, но NSUserDefault работает только тогда, когда я обновляю страницу, я не включил кнопку, когда сообщение о успехе контента пришло, я включаю, когда я возвращаюсь на другую страницу и возвращаюсь, мой потребность передать экземпляр сообщение ViewController через notification.my кодКак передавать сообщения от одного класса другому через NSNotification
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for(SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:
// Item is still in the process of being purchased
break;
case SKPaymentTransactionStatePurchased:
// Item was successfully purchased!
// --- UNLOCK FEATURE OR DOWNLOAD CONTENT HERE ---
// The purchased item ID is accessible via
// transaction.payment.productIdentifier
// After customer has successfully received purchased content,
// remove the finished transaction from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"Transsucess"];
break;
case SKPaymentTransactionStateRestored:
// Verified that user has already paid for this item.
// Ideal for restoring item across all devices of this customer.
// --- UNLOCK FEATURE OR DOWNLOAD CONTENT HERE ---
// The purchased item ID is accessible via
// transaction.payment.productIdentifier
// After customer has restored purchased content on this device,
// remove the finished transaction from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
break;
case SKPaymentTransactionStateFailed:
// Purchase was either cancelled by user or an error occurred.
if (transaction.error.code != SKErrorPaymentCancelled) {
// A transaction error occurred, so notify user.
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"Transsucess"];
}
// Finished transactions should be removed from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction:
transaction];
break;
}
}
}
в моем anothervierwcontroller я хочу, чтобы передать значение Извещение InstEd значения Nsuserdefault. Как это сделать.пожалуйста, помогите мне.
поэтому я должен поставить [[NSNotificationCenter defaultCenter] postNotificationName: @ «Купленный» объект: nil userInfo: nil]; в кейс SKPaymentTransactionStateПокупка: правильно ?? затем добавьте [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector (ContentPurchased) имя: @ «Приобретенный» объект: nil]; это в моем представлении управления? Это два отдельных класса: – stackiphone
да .. два отдельных класса и '[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector (ContentPurchased) имя: @« Приобретенный »объект: nil];' is to сделайте сначала. иначе метод не будет вызываться, даже если вы публикуете уведомление. – Shubhank