Я изучаю цель C и начал с простого калькулятора. Я ударил пару стен, хотя. У меня есть 2 дисплея, текущий набираемый номер, и меньший, который отображает все, что было набрано до сих пор. У меня также есть кнопка «Очистить».
Я хочу, чтобы, если пользователь нажал кнопку «очистить» один раз, он очистил главный экран и изменил название на «AC» (все ясно). Если это тогда ударил снова Я хочу, чтобы он очистил меньший дисплей от всего, что было напечатано до сих пор.
Это все работает нормально, но у меня проблемы, потому что я хочу, чтобы кнопка пошла назад чтобы просто «очистить», когда пользователь начинает вводить другой номер.
У меня есть @property (неатомный) BOOL userIsInTheMiddleOfEnteringANumber;
и @synthesize для этого свойства.
Как я могу сделать так, чтобы всякий раз, когда userIsInTheMiddleOfEnteringANumber == YES, я мог установить кнопку очистки (или @property (nonatomic) BOOL allClear), которую мне нужно изменить?
Одним из решений является не @synthesize
userIsInTheMiddleOfEnteringANumber
собственности, и напишите код для него самостоятельно.
Добавить личное BOOL
переменная для вашего класса, и напишите userIsInTheMiddleOfEnteringANumber
а также setUserIsInTheMiddleOfEnteringANumber:
методы. Получатель должен вернуть переменную «backing»; установщик должен проверить старое и новое значение, чтобы увидеть, является ли старое значение NO
и новое значение YES
, В этом случае установщик должен изменить название кнопки соответствующим образом.
в методе viewdidload добавьте название кнопки как понятное
- (void)viewDidLoad{
[super viewDidLoad];
[myButton setTitle:@"Clear" forState:UIControlStateNormal];
}
и в методе, который очищает все, сделайте заголовок кнопки AC
- (void)clearAllAndACMethod{
if(userIsInTheMiddleOfEnteringANumber==Yes)
{
[myButton setTitle:@"AC" forState:UIControlStateNormal];
userIsInTheMiddleOfEnteringANumber=NO;
}
else{
another type code and
[myButton setTitle:@"Clear" forState:UIControlStateNormal];
userIsInTheMiddleOfEnteringANumber=YES;
}
//remaining method with
}
Измените значение bool в соответствии с вашими потребностями, потому что я не правильно понял значение bool, я думаю. попробуйте это будет работать нормально