1. 程式人生 > >協議傳值

協議傳值

Controller1:

@interface FiveViewController ()<SixViewControllerDelegate>

- (IBAction)btnClick:(id)sender {

SixViewController *six = [[SixViewControlleralloc]init];

    six.delegate =self;

    [self.navigationControllerpushViewController:six animated:YES];

}

-(void)changeValue:(NSString

*)value

{

self.DMLabel.text = value;

}

Controller2:

/**

定義協議,用來實現傳值代理

 */

@protocol SixViewControllerDelegate <NSObject>

/**

此方為必須實現的協議方法,用來傳值

 */

- (void)changeValue:(NSString *)value;

/**

此處利用協議來定義代理

 */

@property (nonatomic,unsafe_unretained) id<SixViewControllerDelegate> delegate;

- (IBAction)btnClick:(id)sender {

// 傳送代理,並把文字框中的值傳過去

    [self.delegatechangeValue:self.DMTextField.text];

    [self.navigationControllerpopViewControllerAnimated:YES];

}