Ваш код правильный как есть.Если вы автоматически освободите объект, его счетчик ссылок достигнет нуля, и он будет отменен, а затем, если позднее вы попытаетесь использовать значение, хранящееся в number1, ваше приложение будет аварийно завершено.
Единственное улучшение, которое я добавлю, этовыпуская любое существующее значение.т.е.
[number1 release];
number1 = [[NSDecimalNumber alloc] initWithInteger:0];
Если вы этого не сделаете, предыдущий объект, назначенный number1
, будет пропускать каждый раз при вызове check
.