Я пытаюсь увеличить число простым способом, который не приведет к дублированию или пропущенным номерам. Этот номер в конечном итоге будет сохранен в поле в моей сущности coreData как номер заказа, поэтому у меня не может быть дубликатов или пропущенных номеров.
У меня есть представление для ввода заказов, и когда оно инициализируется, оно должно предоставить правильный номер заказа, это то, что я кодировал:
-(void) viewDidLoad {
// If no orders have previously been entered the order number will be changed from 0 to 1
if (orderNumber == 0) {
orderNumber = orderNumber + 1;
}
// If orders have previously been entered the order number will be given the value that has previously been stored in orderNumber
else orderNumber = orderNumber;
NSLog(@"The Order Number is %d",orderNumber);
}
Когда форма в представлении заполнена, нажата кнопка «Готово», это завершает заказ. Все текстовые поля в представлении очищаются, и номер заказа увеличивается на 1, чтобы можно было ввести следующий заказ.
-(void) doneButtonTapped:(id)sender{
orderNumber = orderNumber + 1;
NSLog(@"orderNumber is increased to %d",orderNumber);
}
Мой заголовочный файл содержит следующее:
int orderNumber;
@property (nonatomic,assign) int orderNumber;
Это работает, когда приложение запущено, но если я закрою приложение и перезапущу его, мой orderNumber вернется к 1.
Как сохранить / сохранить значение, связанное с orderNumber, для использования в viewDidLoad при повторном запуске приложения?
Мой метод увеличения в порядке или есть лучший способ? Я использовал int, но вижу, что другие используют NSNumber, я не уверен, есть ли преимущества и недостатки использования того или другого.
Любая помощь / предложения будут оценены.