我遇到了prepareforsegue风格的问题。我是,正如您所知道的,我的问题对Xcode来说还很陌生,但我做错了:
我有一个LAFirstView从解析中读取数据,并将其保存在名为“ kundUppgifter”的数组中。
现在,我需要将一个文本从objectatindex:index发送到下一个称为
LASecondView。
在LASecondView中,我声明了一个名为myLabel的标签,我希望在其中显示文本。
我在Stackoverflow上已经阅读过有关此问题的信息,但是问题是,当我阅读其他人的答案时,我不知道该用什么来代替。我在LAFirstView中的代码:看起来像这样,当然它不起作用,但是我确实从NSLog中得到了正确的东西。
希望获得帮助:
//IMPLEMENT THIS ONE (WHEN DISCLOSURE BUTTON IS PRESSED):
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{
[self performSegueWithIdentifier: @"openingHours" sender: self];
NSUInteger index = [mapView.annotations indexOfObject:view.annotation];
PFObject *tempObject = [kundUppgifter objectAtIndex:index];
NSLog(@"%lu", (unsigned long)index);
NSLog(@"%@", [tempObject objectForKey:@"CNAME"]);
}
最佳答案
因此,您的问题是它没有将字符串从LAFirstView传递到LASecondView,但是日志正确吗?如果是这样,您可以在LAFirstView上声明一个字符串属性:
@property (strong, nonatomic) NSString* stringToPass;
然后在披露按钮上单击:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
NSUInteger index = [mapView.annotations indexOfObject:view.annotation];
PFObject *tempObject = [kundUppgifter objectAtIndex:index];
NSLog(@"%lu", (unsigned long)index);
NSLog(@"%@", [tempObject objectForKey:@"CNAME"]);
self.stringToPass = [tempObject objectForKey:@"CNAME"];
[self performSegueWithIdentifier: @"openingHours" sender: self];
}
并准备进行:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"openingHours"]) {
LASecondView *secondView = (LASecondView *)segue.destinationViewController;
secondView.labelToUpdate.text = self.stringToPass;
}
}
关于ios - 准备好进行搜索-只是不要正确选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26091349/