Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Core Data не сохраняется число

#macos #xcode #binding #coredata #objective_c

                    
Здравствуйте! Создал простенькую программку с поддержкой Core Data, типа Document–Based
app. Имеется текстовое поле, соединённое с arrayController'ом, который в свою очередь
соединён с Entity, у которой есть атрибут "name" типа "string" и атрибут "score" типа
"decimal". Введённая в текстовое поле строка сохраняется без проблем.
Также имеется другое текстовое поле: в него вводится число и после нажатия кнопки
"Go" значение из поля передаётся в метку. Метка соединена абсолютно точно так же как
и первое текстовое поле, но почему-то значение метки не сохраняется.
С чем это связано и как это исправить?
Для наглядности, проект можно скачать отсюда: https://www.dropbox.com/sh/kfp61xu3i4zj3kz/QCnPtlVqtE    


Ответы

Ответ 1



У вас проблема в том, что "запись" в базу не происходит. Изыскания показали, что данные из TextField записываются в базу только после переключения "фокуса" из этой TextField в другое место. А у вас получается, что фокусировки нет совсем. Попробуйте дополнить код "принудительно" записю данных в Базу. Например: - (IBAction)changeScore:(id)sender { [_scoreLabel setDoubleValue:[_scoreField doubleValue]]; id saveObj = [_arrayController selectedObjects][0]; double newDob = [_scoreField doubleValue]; NSNumber * decim = [NSNumber numberWithDouble:newDob]; [saveObj setValue:decim forKey:@"score"]; }

Комментариев нет:

Отправить комментарий