(我知道以前有人问过这个问题,不幸的是,我在试图解决这个问题时查看并尝试过的所有相关 StackOverflow 答案都没有对我有用。任何帮助将不胜感激。)
我正在构建一个简单的新闻应用程序。打开屏幕使用 Parse 的 API 抓取最新的新闻条目。
当你点击菜单按钮时,你会得到过去新闻日的 UITableView:
我希望能够将所选 Parse 表格单元格中的 id 传递回主视图。
我将 ECSlidingViewController 用于滑动菜单,将 Storyboard 用于各种屏幕:
但是由于我使用 ECSlidingViewController 的方式,我无法弄清楚如何通过 segues 传递数据,因为我本来可以这样做,所以我试图通过带有自定义 init 的视图控制器传递它。
这是我的 MainViewController.h 代码:
@interface MainViewController : UIViewController
@property (nonatomic) NSString *detailId;
- (id)initWithDetailId:(NSString*)theId;
@end
这是我didSelectRowAtIndexPath
在 MenuViewController.m 中的代码:
MainViewController *mainVC = [[MainViewController alloc] initWithDetailId:@"test"];
[self.navigationController pushViewController:mainVC animated:YES];
这是 MainViewController.m 的initWithDetailId
:
- (id)initWithDetailId:(NSString*)theId
{
NSLog(@"initWithDetailId");
self = [super initWithNibName:nil bundle:nil];
if (self) {
detailId = theId;
}
return self;
}
这是 MainViewController.m 的viewDidLoad
:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"detailId equals: %@", self.detailId);
}
但是我从 NSLog 得到的只是“detailId 等于:(null)”。我在这里做错了什么?谢谢!