将字符串传递给模态视图
Posted
技术标签:
【中文标题】将字符串传递给模态视图【英文标题】:Passing a string to a modal view 【发布时间】:2012-03-26 10:33:09 【问题描述】:单击时,我试图从表格行中的对象中获取字符串。我已经看过有关获取字符串并将其传递给合成标签的教程,但是我无法在我的模态视图中将相同的字符串传递给合成字符串。这可能吗?我在父视图中的代码如下。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Modules *selectedModule;
selectedModule = [fixedArray objectAtIndex:indexPath.row];
NSString *moduleComponent = [selectedModule valueForKey:@"name"];
DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"];
[self.navigationController pushViewController:detail animated: YES];
detail.number.text = moduleComponent;
detail.moduleLabel.text = moduleComponent;
detail.module = moduleComponent;
detail.moduleLabel.text 显示正确,但是当我尝试使用 detail.module 发出警报或绘制标签时,我收到 null。非常感谢任何帮助。
【问题讨论】:
【参考方案1】:将值分配给细节控制器后移动[self.navigationController pushViewController:detail animated: YES];
。
编辑: 另一点需要注意的是,您究竟何时尝试提醒它 - viewDidLoad、viewWillAppear、viewDidAppear。尝试不同的方法,看看结果如何。很抱歉,但我现在无法对其进行测试并自行给您结果,但是根据我尝试访问该值的特定事件(viewDidLoad、viewWillAppear、viewDidAppear)经历了类似的行为(未分配值)。
【讨论】:
你是因为我在消息后将值分配给 pushViewController。我错误地假设直接设置标签以这种方式工作,因此传递字符串也是如此。谢谢。以上是关于将字符串传递给模态视图的主要内容,如果未能解决你的问题,请参考以下文章
通过 prepareForSegue 传递 NSString - Swift
将值传递给模态 UIViewController - Swift