最近在寫一個項目時碰到2個vc之間部分傳值得情況。現在我有個A控制器,跳到B控制器,我希望從B回到A時把一些值傳給A,除了代理、通知、block外,介紹一個更簡單的方法。
1、在A控制器的.h中聲明我要傳的值:
#import "YBGBaseViewController.h"
@interface AttentionViewController : YBGBaseViewController
@property (nonatomic, strong) NSString *titleStr;
@property (nonatomic, strong) NSString *nameStr;
@property (nonatomic, strong) NSString *isAttention;
@end
2、在B控制器的回退方法中:
- (IBAction)backButtonAction:(id)sender {
NSArray* childs = self.navigationController.childViewControllers;
if (self.attentionButton.tag == 1111) {
[childs[childs.count-2] setValue:@"1" forKey:@"isAttention"];
}else{
[childs[childs.count-2] setValue:@"0" forKey:@"isAttention"];
}
[childs[childs.count-2] setValue:self.remarkStr forKey:@"nameStr"];
[self.navigationController popViewControllerAnimated:YES];
}
就這樣,回到A控制器后nameStr和isAttention就有值了!