UIViewController 类的未知类型名称

Posted

技术标签:

【中文标题】UIViewController 类的未知类型名称【英文标题】:Unknown type name for UIViewController class 【发布时间】:2015-05-28 06:50:46 【问题描述】:

我在下面有一个名为 TestView.h 的子类 UIView

#import <UIKit/UIKit.h>
#import "TestsViewController.h"

@interface TestView : UIView

// To get the navigation controller parent clas
@property (nonatomic, retain) TestsViewController *parent;

上面的行导致错误:未知类型名称TestViewController:你的意思是CostViewController

- (id) initWithFrame:(CGRect)frame andObjects:(PFObject *)objects;

@end

我在下面有TestsViewController.h

#import "CostViewController.h"
#import "TesView.h"

@interface TestsViewController : UIViewController <UITextViewDelegate, CostViewControllerDelegate, UIScrollViewDelegate>

@end

TestsViewController.m 的实现文件中,我称之为:

TestView *tests = [[TestView alloc] initWithFrame:frame andObjects:replies];
tests.parent = self;

但是上面一行给出了一个错误:

不兼容的指针类型从 TestsViewController * 分配给 CostsViewController *

这有什么问题?

CostViewController.h 是:

#import <UIKit/UIKit.h>
#include <stdlib.h>

@class CostViewController;

@protocol CostViewControllerDelegate <NSObject>

// Functions for delegate

@end

@interface CostViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate, MBProgressHUDDelegate>

    MBProgressHUD *HUD;
    MBProgressHUD *refreshHUD;


@property (nonatomic, weak) id <CostViewControllerDelegate> delegate;

@end

谢谢。

【问题讨论】:

CostViewController 是什么/在哪里? 尝试@class TestsViewController 而不是#import。 【参考方案1】:

这可能是由于循环导入。 将#import "TestsViewController.h" 替换为@class TestsViewController

【讨论】:

【参考方案2】:

您可以在 TestsViewController.m 中使用 loadView 方法,而不是下面的代码 -

TestView *tests = [[TestView alloc] initWithFrame:frame andObjects:replies];
tests.parent = self;

-(void)loadView

  self.view= [[TestView alloc] initWithFrame:frame andObjects:replies];

希望有帮助!

【讨论】:

【参考方案3】:

您的代码中似乎有错字。

@property(非原子,保留)测试sViewController

未知类型名称TestViewController:

你的班级名称是什么?测试或测试? 和其他班级的情况一样

@interface CostViewController

分配给 CostsViewController

的指针类型不兼容

【讨论】:

以上是关于UIViewController 类的未知类型名称的主要内容,如果未能解决你的问题,请参考以下文章

未知类型名称 AFJSONRequestOperation

未知类型名称'CGVector';您指的是 'CIVector' 吗?

swift 属性的未知类型名称

UIPageViewController 具有未知数量的 UIViewController 实例

使用未声明的类型“UIViewController”

错误:未知类型名称“mxArray”