我想从一个视图控制器传递NSString到另一个。虽然它是一件很容易做的事情,但我不知道我在做什么错误,导致收到的数据为空。下面是简化的代码:在ViewControllers之间传递NSString返回NULL
DetailViewController.h:
@property (nonatomic, strong) NSString *cUrlString;
DetailViewController.m
@synthesize cUrlString;
和
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"URL COMMENT STRING %@", cUrlString);
}
FirstViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
WebViewController *wvc = [self.storyboard instantiateViewControllerWithIdentifier:@"WebViewControllerNew"];
TheItem *entry = [[channel items] objectAtIndex:[indexPath row]];
wvc.title = entry.title;
wvc.urlString = entry.link;
[self.navigationController pushViewController:wvc animated:YES];
DetailViewController *cvc = [[DetailViewController alloc] init];
cvc.cUrlString = entry.link;
//WHEN I USE NSLOG Below, it gives me the correct URL HERE
NSLog(@"ENTRY LINK %@", cvc.cUrlString);
}
我给出了一个简化版本的代码。另请参阅FirstViewController.m中的NSLog语句显示其中的正确数据,但DetailViewController.m的viewDidLoad方法中的日志显示为null。任何人都可以指出我做错了什么?
对我来说很好看,让我们来简化一下吧? –
哪里从第一视图控制器推动详细视图控制器?显示代码 – manujmv
你在调用self.navigationController pushViewController:cvc animated:YES];在tableview的didSelectRowAtIndexPath中。并尝试编写cvc.cUrlString = [NSString stringWithFormat:@“%@”,entry.link]; –