iOS выполняет действие кнопки перед prepareSegue

По сути, у меня есть кнопка, при нажатии на которую она запускает метод действия (меняет поле в моем классе данных) и переходит в другое представление, отображающее поле. После некоторой отладки я понял, что prepareSegue и, возможно, другие связанные методы запускаются до действия моей кнопки и, таким образом, отображают старое значение поля вместо нового. Есть ли в любом случае вокруг этого. Я подумал, может быть, вместо того, чтобы переходить по нажатию кнопки, я бы создал переход к моей первой сцене и перешел к ней в конце моего метода действия кнопок, но я не уверен, как установить пункт назначения перехода, сделанного программно. Или есть лучший способ обновить поле перед переходом? Заранее спасибо.


person user1556008    schedule 27.07.2012    source источник
comment
почему бы вам не performSegue: в селекторе кнопок?   -  person mkral    schedule 27.07.2012


Ответы (1)


Если переход происходит автоматически, вы можете выполнить работу (обновление поля) внутри prepareForSegue:. Переход, указанный в этом методе, может предоставить ссылку на новый контроллер, а параметр отправителя должен быть вашей кнопкой.

person Phillip Mills    schedule 27.07.2012
comment
проблема в том, что на первой странице вместо кнопки у меня есть таблица, и мне нужно знать, какая ячейка была нажата. извините, что не сказал этого раньше, чем пытался задать простой вопрос. - person user1556008; 27.07.2012
comment
В этом случае, предполагая, что переход прикреплен к ячейке, ячейка должна быть доступна в качестве отправителя. Если вам нужно получить некоторые данные, связанные с ячейкой, в табличном представлении есть метод indexPathForCell:, позволяющий найти смещения. - person Phillip Mills; 27.07.2012
comment
Спасибо, у меня получилось. Я не понял, что это был отправитель. - person user1556008; 27.07.2012