что вы можете сделать, это позвонить index - 1
Когда пользователь вводит 0 в текстовое поле, ничего в imageview
не будет отображаться, потому что индекс - 1 становится -1, а NSPredicate(format: "idx == %d", Int32(index))
возвращает nil
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = (textField.text as? NSString)?.replacingCharacters(in: range, with: string), let index = Int(text) else { //here....
// display an alert about invalid text
return true
}
loadImage(at: index - 1 )
return true
}
надеюсь, что это поможет вам =) счастливое кодирование
ИЛИ что вы можете сделать, это сохранить индекс в coredata
соответственно после удаления приложения
func populateData()
{
let item = Users(context: context)
let vex = UIImage(named: "on.jpg")!.pngData()
item.image = vex
item.idx = 1
let item2 = Users(context: context)
let vex2 = UIImage(named: "house.jpg")!.pngData()
item2.image = vex2
item2.idx = 2
print("Storing Data..")
do {
try context.save()
} catch {
print("Storing data Failed", error)
}
}