У меня есть приложение iOS с помощью tabBarController. Каждый корневой вид табуляции является навигационным контроллером. В одной из вкладок я использую кнопку на панели навигации, чтобы подтолкнуть меня к UIViewController, который содержит UITextView.Содержимое в UITextView теряется при использовании кнопки «Назад» в моем навигационном контроллере
Проблема, с которой я борюсь, заключается в том, что любой контент, добавленный в UITextView, теряется при нажатии кнопки «Назад» на панели навигации. Я нашел несколько похожих вопросов с совершенно разными решениями. Я не уверен, как исходить отсюда.
Чтобы было ясно, что я хотел бы сделать. Пользователь может ввести некоторый текст в UITextView и вернуться к первому виду, не теряя его. Когда они захотят вернуться во 2-й вид, текст должен быть в UITextView.
content handling of UITextView between two navigation view предложил использовать класс делегата string
, чтобы сохранить текст. Меня это касается, потому что я не уверен, сохранит ли он возможное форматирование абзаца от пользователя.
Я уже использую основные данные во всем приложении, поэтому я мог бы легко создать атрибут, чтобы сохранить это. Я просто не уверен, какой уместный/лучший/самый простой способ.
Каков наилучший способ выполнить то, что я пытаюсь сделать? Я отчасти новичок в этом, поэтому Snippets действительно помогают!
UPDATE Более уместной информации
Текст в UITextView предназначается, чтобы в конечном счете быть размещены на сервере. Мне просто нужно придерживаться этого текста, пока они не опубликуют его. У приложения есть логин, поэтому всегда есть возможность, что они могут выйти и снова, или даже кто-то другой. Если я правильно поняла это, это приведет к созданию нового управляемого объекта управления, чтобы уничтожить все основные данные, которые я сохранил для отдельного пользователя, а также NSUserDefaults. Есть ли способ сохранить текст в процессе, описанном выше?
Как только вы нажмете назад, контроллер вашего вида, содержащий UITextView, выскочил со стека и фактически освобожден. То, что вы испытываете, - это ожидаемое поведение. Теперь, если вы хотите сохранить этот NSString, вам придется как-то его сохранить. Я не уверен, как этот NSString используется, чтобы вы могли либо сохранить его в основных данных, либо просто установить его в NSUserDefaults. Опять же, это действительно зависит от того, как вы используете данные. Вы также можете сохранить его в некотором ресурсе singleton class. – rocky
@rocky благодарю вас за то, что вы указали на ожидаемое поведение контроллера вида. Пожалуйста, ознакомьтесь с обновлением, которое я добавил к вопросу, и дайте мне свои мысли. – Ben