私は Objective C の完全な初心者であり、書籍「iOS プログラミング: The big Nerd Ranch guide」の課題を完了しようとしています。
(BNRItem クラスの) item というオブジェクトを、BNRItems を保持するための NSMutableArray を追加した BNRItem のサブクラスである BNRContainer クラスの、container と呼ばれるオブジェクトの一部である subItems というNSMutableArrayに入れようとしています。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];
}
Main.m
#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]行でエラーが発生します: No visible @interface for container declares the selector setSubItems
セッター メソッド setSubItems のコードは完全ではありません (ただし、他のセッターはコードを作成して正常に動作します)。
私は何か単純な間違いをしていますか?簡単な説明は大歓迎です!