0

我已经尝试了在视图控制器之间传递这些数据的所有方法,这两种方法都以模态方式表示为页面表。

在 ViewController 1 .h —————————</p>

@property (strong, nonatomic) NSMutableDictionary * updatableProduct ;
//@property (strong, nonatomic) NSDictionary * updatableProduct ; //tried

在 ViewController 1 .m ———————————</p>

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath     *)indexPath{

static NSString * cellIdentifier = @"Cell";
TailorOUCell  *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];

cell.updateOrder.tag = indexPath.row;
[cell.updateOrder addTarget:self action:@selector(nowUpdateOrder:) forControlEvents:UIControlEventTouchUpInside];

orderToUpdate = [orderQueryResults objectAtIndex:indexPath.row];

return cell;
}


-(void)nowUpdateOrder:(id)sender{

UIButton *senderButton = (UIButton *)sender;
updatableProduct = [orderQueryResults objectAtIndex:(long)senderButton.tag];

[self performSegueWithIdentifier:@"updateOrder" sender:updatableProduct];
//[self performSegueWithIdentifier:@"updateOrder" sender:self]; //tried

}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"updateOrder"]) {
    OUEditView * ouv = (OUEditView *)segue.destinationViewController;
    ouv.orderDetails = updatableProduct;
    [segue.destinationViewController setModalPresentationStyle:UIModalPresentationPageSheet];

}

}

在 ViewController 2 .h —————————</p>

@property (strong, nonatomic) NSMutableDictionary * orderDetails ;

在 ViewController 2 .m ———————————</p>

@synthesize orderDetails;

但是日志中的 orderDetails = null

任何帮助!

4

1 回答 1

0

您需要在代码中添加断点或日志语句并查看发生了什么。

  • 是否调用了 prepareForSegue ?
  • IF 语句是否与标识符匹配?
  • “可更新产品”中的值不是零吗?
  • 您是在 viewDidLoad 或 viewWillAppear 中而不是在 init 方法中检查 ouv.orderDetails 的值吗?(init 方法在调用 prepareForSegue 之前触发。)
于 2014-05-14T01:01:05.933 回答