Лучше отказаться от варианта с нотификациями, это из пушки по воробьям. Потом будет половина приложения нотификации ловить из одной вьюхи в другую.
Имхо, здесь логичнее использовать паттерн делегирования.
Контроллер с кнопкой "добавить"
@protocol AddControllerDelegate <NSObject>
// здесь передаете то, что было добавлено. если ничего не надо передавать, то без второго параметра
@required
- (void)addController:(AddController *)controller addedObject:(id)object;
@end
@interface AddController : UIViewController
@property (nonatomic, weak) id<AddControllerDelegate> delegate;
@end
Контроллер с label должен реализовать протокол и при переходе на второй контроллер
выставить себя делегатом для второго
// .h
@interface LabelController : UIViewController
@end
// .m
@interface LabelController() <AddControllerDelegate>
@property (nonatomic, weak) IBOutlet UILabel *label;
@end
@implementation LabelController
- (void)prepareForSegue:(UIStoryboardSegue *)segue
{
if ([segue.identifier isEqualToString:@"your-segue-identifier"]) {
AddController *addController = segue.destinationController;
addController.delegate = self;
}
}
#pragma mark - AddControllerDelegate
- (void)addController:(AddController *)controller addedObject:(id)object
{
// здесь достаете новый текст label из пришедших данных
NSString *labelText = [object labelText];
self.label.text = labelText;
}
@end