2012-08-01 74 views
0

这里的新手,在可编程计算器上工作。属性x找不到对象类型y

在模型类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;我收到一条消息,说'属性'whatHappenedSinceLastClear'没有找到'CalculatorBrain *'类型的对象上。

我在做什么错?

+0

Does http://stackoverflow.com/questions/10527653/property-x-not-found-on-object-of-type-y-error-only-with-arc help? – Vervious 2012-08-01 05:30:42

+1

您是否在您的视图控制器实现中包含了CalculatorBrain.h? – 2012-08-01 05:31:22

+0

唉,我确实在实现中包含了CalculatorBrain.h,我遵循了这些建议,但没有成功。 :(我将发布一个后续问题,包括我的大部分代码,希望我做了一些错误,而不是处理一个错误,因为在这一点上,当我还是很新的,不能分辨真的会妨碍我的学习能力。 – 2012-08-01 16:36:18

回答

0

试试这个: 替换:

NSMutableArray *program = brain.whatHappenedSinceLastClear; 

通过

NSMutableArray *program = [brain whatHappenedSinceLastClear]; 

和brain.h

-(NSMutableArray *)whatHappenedSinceLastClear; 

这应该工作。

+1

不应该有任何区别,那只是绕开了问题。 – Vervious 2012-08-01 05:29:18

相关问题