2014-12-15 12 views
9

Buduję aplikację na iOS przy użyciu języka Swift. Zaczynam od kontrolera widoku tabeli jako kontrolera widoku głównego, a następnie mam dodatkowy kontroler widoku, w którym zdefiniowana jest zmienna (passData). To wszystko działa dobrze i przekazuje dane poprawnie (jak sądzę) z dodatkowego kontrolera widoku z powrotem do podstawowego kontrolera widoku. Jednakże, gdy użytkownik wraca do podstawowego kontrolera widoku, potrzebuję funkcji do wykonania, która następnie doda wartość "addTitle" do tablicy. Wiem, jak dodać go do tablicy, ale ...Wykonywanie funkcji po wyświetleniu widoku - Swift

Nie wiem, jak uruchomić funkcję, gdy widok jest zwracany. Chodzi mi o to, że po zakończeniu użytkownika na dodatkowym kontrolerze widoku ORAZ zmienna "passData" jest zdefiniowana, następnie zostaną naciśnięci przycisk Wstecz na pasku nawigacyjnym. Wtedy potrzebujemy podstawowego kontrolera widoku, aby uznać, że jest ona ponownie wyświetlana użytkownikowi, a następnie wykonać następujący kod:

tableData += [passData] 
tableSubtitle += [passDescription] 

Próbowałem następujące:

override func viewDidAppear() { 
    tableData += [passData] 
    tableSubtitle += [passDescription] 
} 

Ale to daje błąd jako Method does not override any method from its superclass.

Zasadniczo wystarczy wiedzieć, jak uruchomić funkcję, gdy wyświetlany jest widok. Jak mogę to osiągnąć?

Odpowiedz

12

trzeba zadzwonić super.viewDidAppear(animated) i podpis metoda zajmuje Bool tak trzeba powiedzieć:

override func viewDidAppear(animated: Bool) 

protip: Jeśli chcesz nadpisać metodę można po prostu zacznij wpisywać nazwę metody, które chcesz przeciążenie i Xcode automatycznie zasugeruje nazwę metody i wypełni deklarację zastąpienia. Więc w nowej linii zacznij pisać viewDid, a powinieneś zobaczyć metodę viewDidAppear w rozwijanym menu autouzupełniania. Naciśnięcie klawisza wpisz wypełni podpis metody dla ciebie.

+0

Hej, działa idealnie! Dziękuję Ci bardzo! – Mydogmaxieboy

+0

@Mydogmaxieboy zadowolony z pomocy :) –