0

プログラマブル電卓を作っている初心者です。

モデル クラスのインターフェイスで、CalculatorBrain宣言します。

@property (nonatomic, strong) NSMutableArray *whatHappenedSinceLastClear;  

次に、実装で私も宣言します

-(NSMutableArray *)whatHappenedSinceLastClear
{
if(!_whatHappenedSinceLastClear) _whatHappenedSinceLastClear = [[NSMutableArray alloc] init];
return _whatHappenedSinceLastClear;
}

その後

-(double)runProgram:(id)whatHappenedSinceLastClear
{
NSMutableArray *mutableCopyOfWhatHappenedSinceLastClear;
if ([program isKindOfClass:[NSArray class]]) {
    mutableCopyOfWhatHappenedSinceLastClear = [whatHappenedSinceLastClear mutableCopy];
}
return [self popOffProgramStack:mutableCopyOfWhatHappenedSinceLastClear];
}

しかし、ViewController では、宣言するときに

-(IBAction)testPressed:(id)sender
{
CalculatorBrain *brain = self.brain;   
brain = [[CalculatorBrain alloc] init];
NSMutableArray *program = brain.whatHappenedSinceLastClear;
[brain runProgram:program];
}

その行で、NSMutableArray *program = brain.whatHappenedSinceLastClear;「タイプ「CalculatorBrain *」のオブジェクトにプロパティ「whatHappenedSinceLastClear」が見つかりません」というメッセージが表示されます。

私は何を間違っていますか?

4

1 に答える 1

0

これを試してください: 置き換えます:

NSMutableArray *program = brain.whatHappenedSinceLastClear;

NSMutableArray *program = [brain whatHappenedSinceLastClear];

そしてbrain.hで

-(NSMutableArray *)whatHappenedSinceLastClear;

これはうまくいくはずです。

于 2012-08-01T05:28:58.633 に答える