objective c - Changing label's text in another view controller -
i have 1 view controller named firstviewcontroller, , second named secondviewcontroller. present second view controller
uiviewcontroller *controller = [self.storyboard instantiateviewcontrollerwithidentifier:@"maincontroller"]; [self presentviewcontroller:controller animated:yes completion:nil]; in secondviewcontroller's .m, want change text of uilabel in firstviewcontroller. however, label's text isn't updating. how make firstviewcontroller's label updated when uibutton pressed in secondviewcontroller?
you use delegate pattern
first create delegate protocol
@class secondviewcontroller; @protocol secondviewcontrollerdelegate -(void) updatelabelwithstring:(nsstring*)string @end @property (weak, nonatomic) id<secondviewcontrollerdelegate>delegate; in ibaction connected uibutton
[self.delegate updatelabelwithstring:yourstring]; in firstviewcontroller.h
#import "secondviewcontroller.h" @interface firstviewcontroller : uiviewcontroller <secondviewcontrollerdelegate> in firstviewcontroller.m
-(void) updatelabelwithstring:(nsstring*)string { label.text = string; } then when create controller instance, set firstviewcontroller delegate mainviewcontroller
controller.delegate = self;
Comments
Post a Comment