Parse.com segue不会传递数据

时间:2014-08-04 00:49:48

标签: ios objective-c object parse-platform segue

我有两个表格视图,都填​​充了数据。两者都有细节到视图。一个充满了动物,第二个充满了国家。我想根据动物生活所在的国家/地区将数据与动物细节一起显示给各国。由于从countrymainController移动数据,已经在countryDetail.h中创建了PFObject。 segue中的NSlog从Parse中正确地返回所有值。感谢您的任何建议

animalDetail.m

  - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        if ([segue.identifier isEqualToString:@"sendi"])
        {


            ViewControllerimagescale *vco = [segue destinationViewController];
            vco.bomb = self.objc;
        }else{
            PFQuery *query = [PFQuery queryWithClassName:@"Countries"];
            [query whereKey:@"Wherelive" equalTo:[self.objc objectForKey:@"CouWherelive"]];
            [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
                if (!error) {
                    for (PFObject *object in objects) {
                        ViewControllerDetail *vco = [segue destinationViewController];
                        vco.objc = object;
                        NSLog(@"KOKOE%@", object);

                    }

                } else {
                    NSLog(@"Error: %@ %@", error, [error userInfo]);
                }
            }];
        }
    }
countrydetail.h中的

通常设置了pfobject

@property (nonatomic, strong) PFObject *objc;

1 个答案:

答案 0 :(得分:2)

实际上,它正在“通过”。但是,findObjectsInBackgroundWithBlock:调用是异步的。这意味着您的数据(NSArray *objects)在呈现目标视图控制器之前具有非常非常很高的机会。

使用findObjects之类的同步调用或在异步块内调用类似[self performSegueWithIdentifier:@"sendi" sender:nil]的内容。