问题在于:当我尝试将链接字符串从一个控制器传递到另一个控制器时,不知何故它丢失了部分文本,最后我的NSString,我将其命名为self.entityLinkToWiki =Московский_Кремль,而不是http://ru.wikipedia.org/wiki /Московский_Кремль应该是!
我的应用程序具有表视图的结构,首先,它加载tableview,之后它从XML传递值,这取决于indexPath.row。除了网络链接之外的所有值都可以正常工作,我将解释我这样做的方式。 xml文件中有部分Web链接:
http://ru.wikipedia.org/wiki /Московский_Кремль 为此,我做了以下事情:
在“first”(tableView列表)控制器中,我传递的值如下:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"detailSegue"]){
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
NSString *string = [[self.listOfPlaceDetails objectAtIndex:indexPath.row]objectForKey:@"description"];
DetailViewController *detailController = segue.destinationViewController;
detailController.descriptionStringShort =string;
....这里有很多代码
detailController.fourthPhotoString = [[self.listOfPlaceDetails objectAtIndex:indexPath.row] objectForKey:@"imageFourth"];
detailController.webLink = [[self.listOfPlaceDetails objectAtIndex:indexPath.row]
objectForKey:@"webpage"];
}
}
图片链接与网页链接无关,我只是发布它,所以你得到的图片我以这种方式传递值,它工作正常。然后,我将值从“细节”控制器传递给控制器,最终具有UIWebView:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
....这里有很多代码
if ([segue.identifier isEqualToString:@"WebSegue"]){
WebViewController *webController = segue.destinationViewController;
webController.entityLinkToWiki = self.webLink;
NSLog(@"WebSegue link is %@", self.webLink);
}
}
并且NSLog说,self.webLink已经是 - Московский_Кремль(不正确的值)。因此,我的UIWebView没有得到正确的链接。所以现在,我的问题是 - 如何像我一样获得正确的链接传递?我不想在最终控制器中从XML文件加载它,因为我需要indexPath.row的信息,以获得正确的值(我在XML文件中有很多实体)。
感谢您提供的任何帮助