无法从一个视图控制器推送到下一个视图控制器

时间:2015-06-27 16:22:07

标签: ios objective-c pushviewcontroller

我无法从一个视图控制器推送到另一个视图控制器。我一直收到错误Use of undeclared identifier 'DriverViewController'

DriverViewController *vC = [[DriverViewController alloc] init];

[self.navigationController pushViewController:vC animated:YES];

我创建了另一个swift文件,这似乎工作正常。 Idk为什么我不能让上面的代码做同样的事情。

var dVC = DriverViewController()

self.navigationController?.pushViewController(dVC, animated: false)

enter image description here

2 个答案:

答案 0 :(得分:0)

在Objective-C中,您需要导入头文件,即使它们是用Swift编写的。要做到这一点,你需要一个伞头。 Apple已在文档中介绍了这一点。它会告诉你如何在Objective-C中精确导入Swift文件,但只需要输入伞头:

#import "ProductModuleName-Swift.h"

文档:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_78

答案 1 :(得分:-2)

您使用的是StroyBoard吗?如果是,则必须在Viewcontroller中添加标识符。

对于Ex: -

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
    DriverViewController *myVC = (DriverViewController *)[storyboard instantiateViewControllerWithIdentifier:@"DriverViewControllerID"];

或者

DriverViewController *myObj = [self.storyboard instantiateViewControllerWithIdentifier:@"DriverViewControllerID"];
[self.navigationController pushViewController:myObj animated:YES];