我是 Objective c 的完整初学者,我正在尝试完成“iOS 编程:大书呆子牧场指南”一书中的挑战。
我试图将一个名为item的对象(属于 BNRItem 类)放入一个名为subItems的 NSMutableArray 中,它是一个名为container的对象的一部分(属于 BNRContainer 类,是 BNRItem 的一个子类,并添加了 NSMutableArray 来保存 BNRItems)。BNRItem 工作正常。
代码如下:
BNRContainer.h
#import <Foundation/Foundation.h>
#import "BNRItem.h"
@interface BNRContainer : BNRItem
{
NSMutableArray *subItems;
}
BNRContainer.m
- (id)init
{
return [self initWithItemName:@"Container"
valueInDollars:0
serialNumber:@""];
}
- (void)setSubItems:(BNRItem*)item
{
[subItems addObject:item];
}
主程序
#import <Foundation/Foundation.h>
#import "BNRItem.h"
#import "BNRContainer.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
BNRItem *item = [[BNRItem alloc] init];
BNRContainer *container = [[BNRContainer alloc] init];
[container setSubItems:item]
}
return 0;
}
在[container setSubItems:item]行我收到错误:没有可见的 @interface for container 声明选择器 setSubItems
setter 方法 setSubItems 的代码不完整(尽管其他 setter 可以,并且工作正常)。
我做错了什么简单的事情吗?一个简单的解释将不胜感激!