我正在尝试从中发送BOOL值
ViewController A
到ViewController B
。
在ViewController A
上,dashboard.skip
会显示YES
,但会显示ViewController B
self.skip
,NO
显示- (IBAction)skipToDashboard:(UIButton *)sender {
ViewController B *vc=[[ViewController B alloc]init];
vc.presentButtonTag=sender.tag;
self.fromSkip=YES;
vc.skip=self.fromSkip;
}
。
ViewController B
在@property (nonatomic,assign) BOOL skip;
:
function get_all_categories ( ) {
$url = $this->get_url ( 'categories' ) ;
$url .= 'titles='.urlencode($_POST['Category1']);
$url .= '&cllimit=500' ;
$data = $this->get_result ( $url ) ;
$array = json_decode($data, true); }
答案 0 :(得分:0)
尝试定义BOOL属性并将值设置为true或false。
对于Ex:Appdelegate声明属性然后使用
@property (nonatomic) BOOL fromSkip;
答案 1 :(得分:0)
有两种方法可以将数据从第一个屏幕传递到第二个屏幕。
第一道:
您可以通过创建VC对象并在其中指定值来传递数据,然后按下面的示例推送到下一个屏幕。
代码:
//Initilize view controller from storyboard id.
ViewController *objViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
//Assign value
objViewController.presentButtonTag=sender.tag;
self.fromSkip=YES;
objViewController.skip=self.fromSkip;
//Push view
[self.navigationController pushViewController:objViewController animated:YES];
第二路:
通过Storyboard,您可以在按钮上设置segue操作,在准备segue方法时,您需要像这样传递数据。
<强>代码:强>
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if ([segue.identifier isEqualToString:@"ViewController"]) {
ViewController *objViewController = (ViewController*)segue.destinationViewController;
objViewController.selectedTag = ((UIButton*) sender).tag;
//Assign value
objViewController.presentButtonTag=sender.tag;
self.fromSkip=YES;
objViewController.skip=self.fromSkip;
}
}
现在您可以在两种情况下检查您的场景我认为您是按故事板推送到下一个屏幕,因此请使用2nd Way
。
如果您需要更多帮助,请与我联系。