Вам следует попробовать использовать UUID, Универсально уникальные идентификаторы , если вы хотите быть уверены, что у вас есть уникальные идентификаторы.Эти идентификаторы будут иметь тип string и соответствовать международным стандартам.
Чтобы сгенерировать новый UUID в любом месте:
let id : String = UUID().uuidString
Тем не менее, если вы все еще хотите использовать целые числа, вы можете сделать (устарело) :
class Task {
static var currentTaskId : Int = 0
var taskId : Int?
init(){
Task.currentTaskId += 1
self.taskId = Task.currentTaskId
}
}
Таким образом, все ваши экземпляры задач будут иметь разные идентификаторы.Однако я не рекомендую это делать, потому что всякий раз, когда вы останавливаете ваше приложение, currentTaskId
будет возвращаться к 0, и вы, скорее всего, будете иметь идентификаторы, которые больше не будут уникальными, если ваши задачи сохраняются и повторно используются со временем.