无法修改文件中任何 IBOutlet 的属性



目前我正在使用AVCaptureMetadataOutputObjectsDelegate,使用故事板创建的方法向用户呈现数据。但是,当我从另一个视图控制器调用一个方法在两者之间传递数据时,我可以很好地检索数据并相应地对其进行 NSLog,但根本无法分配或更新视图控制器的任何属性。即更新标签文本,移动UIView等...代码如下所示,

- (void) retrieveObject: (ScannedItem *) object 
  {
     if(object == NULL)
        nil;
     else
        self.scannedObject = object;
     NSLog(@"RETRIEVED IN V2: %@", self.scannedObject.itemName);
    [self performSelector:@selector(animateResults:) withObject:self afterDelay:0];
 }
- (void) refreshBarcode: sender 
 {
    NSLog(@"%@", detectionString);
    if(detectionString != nil) 
    {
       [self performSelector:@selector(retrieveOnlineData:) withObject:self afterDelay:0];
    }
 }
- (void) animateResults: sender
  {
     self.productName.text = @"Hey";
     if(resultsViewExpanded == YES)
      {
          NSLog(@"hiding");
          [UIView animateWithDuration:0.5 animations:^{
                self.resultsView.frame = CGRectMake(0, 531, self.resultsView.frame.size.width,  self.resultsView.frame.size.height);
           }];
     resultsViewExpanded = NO;
     }
     else
     {
         NSLog(@"showing");
         self.productName.text = [NSString stringWithFormat:@"%@", self.scannedObject.itemName];
        [UIView beginAnimations:@"ShowButtons" context:nil];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration:0.5];
        self.resultsView.frame = CGRectMake(0, 364, self.resultsView.frame.size.width,  self.resultsView.frame.size.height);
        [UIView commitAnimations];
        resultsViewExpanded = YES;
    }
  }

忽略可怕的格式,我不知道我在用它做什么。提前感谢您的任何支持。:)

我认为

,您正在更新,在查看第二个控制器加载之前修改属性。在视图加载之前,如果更新任何内容,它将不会反映,因为属性的更新将在控制器导航后调用。

最新更新