Is an observer needed for IAP?

I'm new to IAP. I want to restore transactions so I start by putting the line below in a button:


[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];


Examples have stated I need to set up an observer using one more line


[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 

[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];

I can't seem to be able to edit my message:


I'm new to IAP. I want to restore transactions so I start by putting the line below in a button:

[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];

Examples have stated I need to set up an observer using one more line

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 

[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];


The thing is using just one line without the observer works. Am I missing something?

Is this because I'm not observing, but initiating the search for paid transactions myself? That the observer is only if I want the app to automatically restore purchases without the user needing to press a button checking if there are paid purchases?

Is an observer needed for IAP?
 
 
Q