Delegates or Properties, take your pick.
PROPERTIES
Class A (ViewController) wants to communicate with Class B (ViewController)
Before calling Class B, do the following:
In Class B, create a @property NSString* receivedValue;
In Class A,
#import Class B
then in the method that calls B (either prepareForSegue or didSelectRowAtIndexPath or some method where you present Class B view controller, do the following:
Class B *calledVC = alloc/init
calledVC.receivedValue = ‘whatever value you want to pass’;
then call Class B VC
Done!
DELEGATES
Let’s say Class B wants to notify Class A that something has finished. In Class B add this above your @interface:
@protocol YourDelegateProtocol <NSObject>
– (void)itemWillBePassed;
@end
Then in the regular Class B @interface
@property (nonatomic, weak) id <YourDelegateProtocol> delegate;
@interface ViewController : UIViewController
Remember when calling the delegate it is
[self.delegate itemWillBePassed];