#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"]; }
Комментариев нет:
Отправить комментарий