我想從一個視圖控制器傳遞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]; –