Вы могли бы хотеть рассмотреть Нулевые значения также. В Вашем примере, если столбец отмечает , имеет нулевое значение, то получающееся значение будет НУЛЕВЫМ. Если Вы хотите, чтобы нулевые значения вели себя как пустые строки (так, чтобы ответ вышел 'SomeText'), то используйте функцию IsNull:
Select IsNull(Cast(notes as nvarchar(4000)),'') + 'SomeText' From NotesTable a
Изменить: Первый подход (на основе уведомлений), вероятно, не будет работать из-за внутренней работы циклов выполнения и уведомлений.
Если вы хотите придерживаться уведомления -на основе архитектуры, вы можете публиковать собственные уведомления из applicationWillTerminate:
. Просто создайте собственное уведомление MyApplicationWillTerminate
, затем вызовите postNotification:
на [NSNotificationCenter defaultCenter]
. Затем создайте регистр контроллера редактирования для экземпляров MyApplicationWillTerminate
, а не для значения по умолчанию UIApplicationWillTerminateNotification
.
Другой вариант - сделать так, чтобы делегат вашего приложения сохранил экземпляр контроллера редактирования, если он виден, затем в applicationWillTerminate:
сохраните новую информацию перед выпуском контекста Core Data. Однако это загрязняет делегат вашего приложения дополнительными переменными экземпляра, поэтому это может быть не оптимальное решение.
Последняя мысль: почему бы не сохранить в приложении любые изменения, которые вносятся пользователем? Таким образом, вам не нужно беспокоиться о закрытии приложения на полпути после редактирования фрагмента информации - изменения уже сохранены, и вы можете просто выпустить основные данные, как вы уже есть. (Возможно, вам это не подходит; я действительно не мог бы сказать, не зная больше о структуре вашего приложения и данных, которые вы редактируете.)
почему бы не сохранить в приложении все изменения, которые вносятся пользователем? Таким образом, вам не нужно беспокоиться о закрытии приложения на полпути после редактирования части информации - изменения уже сохранены, и вы можете просто освободить материал Core Data, как вы уже есть. (Возможно, вам это не подходит; я действительно не мог бы сказать, не зная больше о структуре вашего приложения и данных, которые вы редактируете.) почему бы не сохранить в приложении все изменения, которые вносятся пользователем? Таким образом, вам не нужно беспокоиться о закрытии приложения на полпути после редактирования части информации - изменения уже сохранены, и вы можете просто освободить материал Core Data, как вы уже есть. (Возможно, вам это не подходит; я действительно не мог бы сказать, не зная больше о структуре вашего приложения и данных, которые вы редактируете.)Не уверен, но сохраняет ли NSManagedObjectContext свой координатор хранилища и объектную модель? В таком случае, разве будет достаточно, чтобы ваш контроллер сохранил контекст управляемого объекта?