di aplikasi saya, saya memiliki tombol yang melakukan segue secara terprogram:
- (void)myButtonMethod
{
//execute segue programmatically
[self performSegueWithIdentifier: @"MySegue" sender: self];
}
Saya ingin tahu apakah ada cara untuk merujuk tampilan tujuan dan memberikannya beberapa parameter.
Saya tahu bahwa dalam prepareForSegue
metode, saya dapat merujuknya dengan:, myDestinationViewController *vc = [segue destinationViewController];
tapi saya tidak tahu bagaimana cara mengeksekusi segue ini secara terprogram.
Apakah Anda punya ide?
Terima kasih, yassa
MEMPERBARUI:
Maaf atas pertanyaan ini !!! Saya hanya menemukan bahwa, bahkan jika segue dipanggil secara terprogram, prepareForSegue
metode ini dipanggil pula dan karena itu dimungkinkan untuk melewatkan parameter dengan cara yang biasa sama.
ios
view
parameters
storyboard
segue
yassassin
sumber
sumber
Jawaban:
Jawabannya sederhana bahwa tidak ada bedanya bagaimana segue dipicu.
The
prepareForSegue:sender:
metode ini disebut dalam hal apapun dan ini adalah di mana Anda melewati parameter Anda di.sumber
Pertanyaan lama tetapi inilah kode tentang bagaimana melakukan apa yang Anda minta. Dalam hal ini saya meneruskan data dari sel yang dipilih dalam tampilan tabel ke pengontrol tampilan lain.
dalam file .h dari tampilan trget:
dalam file .m:
dataModel
dapat berupastring
,,int
atau seperti dalam kasus ini adalah model yang berisi banyak itemATAU...
sumber
Swift 4:
Swift 3:
sumber
Saya mengerti masalah melakukan segue di satu tempat dan mempertahankan status untuk mengirim parameter sebagai persiapan untuk segue.
Saya menemukan cara untuk melakukan ini. Saya telah menambahkan properti bernama userInfoDict ke ViewControllers menggunakan kategori. dan saya telah mengesampingkan melakukan segue dengan pengidentifikasi juga, sedemikian rupa sehingga Jika pengirim adalah diri (berarti controller itu sendiri). Ini akan meneruskan userInfoDict ini ke ViewController berikutnya.
Di sini, alih-alih meneruskan seluruh UserInfoDict Anda juga dapat melewati params tertentu, sebagai pengirim dan menimpanya.
1 hal yang perlu Anda ingat. jangan lupa untuk memanggil metode super di metode performSegue Anda.
sumber
Jika Anda menggunakan versi cepat baru.
sumber