0
#import <Foundation/Foundation.h>
#import "Asset.h"

@interface Person : NSObject{
    int pin;
    NSMutableArray* assets;
}

@property int pin;
-(void) addAsset: (Asset*) iasset; //producing error
@end

尝试编写包含“资产”数组的“Person”类的接口。线

 -(void) addAsset: (Asset*) iasset;

产生错误。XCode 说,“期望一个类型”。有人可以告诉我哪里出错了吗?我可以提供所需的任何其他代码。

资产.h:

#import <Foundation/Foundation.h>
#import "Person.h"

@interface Asset : NSObject{
    NSString* label;
    int value;
    Person* holder; 
}
@property int value;
-(void) setHolder: (Person*)iholder;
-(void) setLabel: (NSString*)iname;
@end
4

1 回答 1

4

您的头文件中有循环依赖项。您可以通过删除#import "Person.h"Asset.h替换它来修复它@class Person;。此更改将告诉编译器Person该类的存在,而无需导入标头。

同样,您可以改为将#import "Asset.h"inPerson.h替换为@class Asset;.

您仍然希望在实现文件中包含正确的标头。

于 2013-05-28T23:50:23.977 回答