首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保留价值的ModalViewController

保留价值的ModalViewController
EN

Stack Overflow用户
提问于 2012-04-22 03:23:21
回答 1查看 46关注 0票数 1

在modalViewController (UniversitiesViewController *)中,我尝试在rootViewController中设置一个变量,但没有成功。在我的表视图中:didSelectRowAtIndexPath:方法我使用以下代码来设置rootViewController (MapsViewController *) selectedIndex属性:

代码语言:javascript
复制
MapsViewController *mapsView = (MapsViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"MapsView"];
mapsView.selectedIndex = [NSNumber numberWithInt:indexPath.row];

[self dismissModalViewControllerAnimated:YES];

当我在MapViewController中打印self.selectedIndex的值时,它始终是0,这不是所选值。

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-22 03:40:56

正确的方法是为UniversitiesViewController创建一个委托协议。

代码语言:javascript
复制
@protocol UniversitiesViewControllerDelegate <NSObject>
- (void)universitiesViewController:(UniversitiesViewController *)uvc selectedIndex:(NSInteger)index;
@end

并添加

代码语言:javascript
复制
@property (weak, nonatomic) id <UniversitiesViewControllerDelegate> delegate;

添加到UniversitiesViewController类。

在UniversitiesViewController的didSelectRow中,调用

代码语言:javascript
复制
[self.delegate universitiesViewController:self selectedIndex:indexPath.row]

然后在MapsViewController中,在实例化UniversitiesViewController时(或者如果使用segues,在prepareForSegue中)将委托设置为“self”。并让MapsViewController处理委托方法。

代码语言:javascript
复制
- (void)universitiesViewController:(UniversitiesViewController *)uvc selectedIndex:(NSInteger)index
{
     // do stuff
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10262227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档