我在下面有一个名为UIView
的子TestView.h
:
#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
感谢。
答案 0 :(得分:3)
这可能是由于循环导入。 用#class TestsViewController替换#import“TestsViewController.h”
答案 1 :(得分:0)
您可以在TestsViewController.m中使用loadView方法代替下面的代码 -
TestView *tests = [[TestView alloc] initWithFrame:frame andObjects:replies];
tests.parent = self;
-(void)loadView
{
self.view= [[TestView alloc] initWithFrame:frame andObjects:replies];
}
希望这有帮助!
答案 2 :(得分:0)
好像你的代码中有拼写错误。
@property(非原子,保留)测试 s ViewController
和
未知类型名称TestViewController:
你的班级名字是什么?测试或测试? 与其他班级相同的情况
@interface CostViewController
和
分配给Cost s ViewController
的不兼容指针类型