ЗДЕСЬ КОД: http://min.us/mWdMO0n14
Я новичок в Obj C, поэтому я немного искал, но не нашел ничего, что могло бы решить мою проблему.
У меня есть CalculatorViewController.h и .m, а затем CalculatorBrain.h and.m (Стэнфордские лекции)
в CalculatorBrain.m, у меня есть следующий метод, все переменные которого определены как частные в CalculatorBrainheader.
- (void)clearEverythingOnShakeGesture{
operand = 0;
waitingOperation = @"";
waitingOperand = 0;
}
Затем в CalculatorBrain.m у меня все настроено для обнаружения сотрясений, как показано ниже.Я включил часть кода выше определения сотрясения, чтобы у вас была общая идея.
@interface CalculatorViewController()
@property(nonatomic, retain) CalculatorBrain *brain;
@end
@implementation CalculatorViewController
@synthesize brain;
- (CalculatorBrain *)brain {
if (!brain) {
brain = [[CalculatorBrain alloc] init];
}
return brain;
}
-(BOOL)canBecomeFirstResponder{
return YES;
}
-(void)viewDidAppear: (BOOL) animated{
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.subtype == UIEventSubtypeMotionShake)
{
NSLog(@"SHAKE IT!");
[brain clearEverythingOnShakeGesture]; //********** not sure how to call this.
}
}
Я не уверен, как вызвать [brain clearEverythingOnShakeGesture];
, потому что я получаю ошибку "Метод класса +clearEverythingOnShakeGesture не найден, по умолчанию возвращает идентификатор типа ".Однако, если я сделаю это методом класса, переменные внутри будут переменными экземпляра, что обеспечивает другую ошибку.Любая помощь с благодарностью.