出于某种原因,我在这里收到错误
#import "OtherViewController.h"
@interface ViewController: UIViewController
@property (nonatomic, strong) OtherViewController *otherViewController;
这给了我一个错误,说'未知类型名称OtherViewController'为什么会发生这种情况?这不是向其他视图控制器发送消息的方法。如果是这样你应该怎么做呢?
答案 0 :(得分:1)
根据您发布的内容,您发布的内容没有任何问题。话虽这么说,您不需要为其他VC声明属性。您需要做的是在OtherViewController上声明一个公共属性(如NSString),然后您可以从ViewController类访问该属性。类似的东西(假设您使用的是Storyboard):
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"MySegueID"]) {
OtherViewController *ovc = segue.destinationViewController;
ovc.myPublicNSStringProperty = @"Something";
}
}
答案 1 :(得分:1)
尝试导入.m文件中的标题
#import "OtherViewController.h"
并在标题.h文件中添加
@class OtherViewController;
答案 2 :(得分:0)
我无法确定,因为没有给出足够的信息,但如果您有循环导入,我会看到类似的错误。也就是说,如果OtherViewController.h包含#import ViewController。
所以,你可以尝试在其中一个中使用@class来避免循环引用:
@class OtherViewController;
确保包含在ViewController.m中:
#import "OtherViewController.h"