2016-02-11 2 views
0

Я учусь создавать приложения в Xcode. Я хотел бы создать некоторую проверку ошибок на странице. Если пользователь пытается изменить страницу, и они внесли изменения в некоторый текст, я бы хотел их остановить. У меня есть переменная, которая установлена ​​в true, если изменения сделаны, но я не знаю, как ее использовать.Swift 2 проверить перед изменением страницы

Есть ли функция переопределения, которая может использоваться для изменения страницы или что-то еще? Я бы подумал, что могу добавить его к кнопке, которую вы нажимаете для изменения страницы, но это не отображается в моей панели навигации.

override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool { 
    print("Hello") 
    if count == 0 { 
     print("No changesMade") 
     return true 
    } else { 
     print("\(count) Changes Made") 
     return false 
    } 
} 
+0

Если вы используете SEGUE то Самый простой способ - реализовать функцию 'shouldPerformSegueWithIdentifier:' в вашем контроллере вида. Это возвращает логическое значение - true, если segue должен продолжить и false, если это не так. Вы также можете обновить поле сообщения или отобразить предупреждение в этой функции. – Paulw11

+0

Спасибо, дайте ему Google о том, как реализовать в коде. Cheers –

+0

Можете ли вы изменить свой вопрос, чтобы показать код, который вы пробовали? – Paulw11

ответ

0

Произнесите логический флаг называется editingBegan, и вы установите его верно, когда пользователь начал редактирование и вернуться к ложному после спасенного пользователя, вы можете реализовать shouldPerformSegueWithIdentifer:, а внутри просто сказать return !editingBegan. Если вы в настоящее время редактируете segue, будет просто пропущен.

+0

Это здорово, где я должен положить это в код? Сейчас я далеко от своего Mac. Будет ли Google видеть, как реализовать. Спасибо –

+0

Кажется, он не может вызвать функцию переопределения? Добавлен код в исходный вопрос –

0

Можете прояснитьсь или написать фрагмент кода здесь?

Из моего понимания здесь, вы можете по крайней мере сделать три вещи для предотвращения изменений:

  • предотвратить изменения с помощью property observer. Если вы используете на своей странице некоторые свойства , определите наблюдателей свойств для мониторинга изменений в стоимости объекта .

  • предотвратить изменения с помощью метода TextField делегата textField:shouldChangeCharactersInRange:replacementString: если пользователь редактирует что-то в текстовое поле

  • предотвратить изменения с помощью shouldPerformSegueWithIdentifier: если пользователь собирается иметь переход вызвал

Смежные вопросы