我怎样才能将复选框的选中值传递给下一个视图

时间:2014-04-23 05:12:31

标签: ios objective-c

我试过这段代码。

self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"next" 
style:UIBarButtonItemStylePlain target:self action:@selector(Add:)];



 -(IBAction)Add:(id)sender
 { 
      arr_search=[[search_array alloc]init];
      [self.navigationController pushViewController:arr_search animated:YES]; 
}

[MyArray addObject:[NSNumber numberWithBool:switchInput]];

[MyAllNoArray addObject:[NSNumber numberWithBool:NO]];

是执行此类任务的正确方法吗?

3 个答案:

答案 0 :(得分:0)

同样有很多种可能性。

您可以使用NSUserDefault保存复选框的状态。

[[NSUserDefaults standardUserDefaults] setBool:bVal forKey:@"Value"];

要在代码下方使用值:

BOOL bGetValue=[[NSUserDefaults standardUserDefaults] boolForKey:@"Value"];

相反,您也可以在另一个类中声明属性。通过创建第二个类的对象并将参数传递给该属性,您可以访问该值。

如果要在复选框的数组中存储值是否已选中,请执行以下操作

[MyArray addObject:[NSString stringWithFormat:@"%d",switchInput];

要访问它,

int bVai=[[MyArray objectAtIndex:0] intValue];

//如果要将数组传递给search_array类,请执行此操作 //在search_array.h中

@property(nonatomic,strong)NSMutableArray *arrVal;

//在search_array.m

@synthesize arrVal;

现在在第一个视图控制器

[MyArray addObject:[NSNumber numberWithBool:switchInput]];

[MyAllNoArray addObject:[NSNumber numberWithBool:NO]];


-(IBAction)Add:(id)sender
 { 
      arr_search=[[search_array alloc]init];
      arr_search.arrVal=[NSMutableArray alloc]init];
      arr_search.arrVal=MyAllNoArray;
      [self.navigationController pushViewController:arr_search animated:YES]; 
}

答案 1 :(得分:0)

您可以在创建复选框时设置标签值。

NSMutableSet* arrSelectedRow;
    -(IBAction)checkClicked:(UIButton*)sender
    {


        NSNumber* number=[NSNumber numberWithLong:sender.tag];

        if (![arrSelectedRow containsObject:number])
        {


            [arrSelectedRow addObject:[NSNumber numberWithLong:sender.tag-300]];//number];
        }
        else
        {


            [arrSelectedRow removeObject:[NSNumber numberWithLong:sender.tag]];
        }

       NSLog(@"Selected row is = %@",arrSelectedRow);
    }

现在您可以将arrSelectedRow发送到nextViewController

答案 2 :(得分:0)

如果你正在使用故事板,你可以从prepareforSegue传递价值

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

}

或来自您的行动

-(IBAction)Add:(id)sender
{ 
  arr_search=[[search_array alloc]init];

  arr_search.yourVaraible= @"some value"
  [self.navigationController pushViewController:arr_search animated:YES];
}