viewController
'a giden iki segue var. 2 segues kullanarak aynı viewController
'a bağlanan 2 düğme vardır. Bu viewController
içinde hangi butonun tıklandığını kontrol etmem gerekiyor. Öyleyse aslında hangi dilin kullanıldığını/önceden oluşturulduğunu kontrol etmem gerekiyor. Bunu viewControllers sınıfında nasıl kontrol edebilirim? prepareForSegue
yönteminin olduğunu biliyorum, ancak amacım için kullanamıyorum çünkü prepareForSegue
'u 2 düğmenin bulunduğu sınıfa koymalıyım ve orada istemiyorum ama ben viewControllers
sınıfında olmasını istiyorum. Bu sınıftaki bazı değişkenlere erişip bunları ayarlamanız gerekir.Hangi segue kullanıldığını nasıl kontrol edilir?
8
A
cevap
8
Sen bir değişkeni ayarlamak gerekir Birincisinin preparasöse yönteminde ikinci viewcontroller. Bu nasıl yapılır:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
if(sender.tag == ...) // You can of course use something other than tag to identify the button
{
secondVC.identifyingProperty = ...
}
else if(sender.tag == ...)
{
secondVC.identifyingProperty = ...
}
}
}
Ardından, oraya nasıl geldiğinizi anlamak için ikinci vc'de bu özelliği kontrol edebilirsiniz. 2 düğmenin storyboard'unda 2 cürüm oluşturduysanız, karşılık gelen özellik değerini ayarlamak için sadece işaret tanımlayıcısı yeterlidir. Ardından kod dönüşür:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
else if([segue.identifier isEqualToString:segueIdentifier2])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
}
2
Öncelikle, segues tanımlayıcınızı doğrudan storyborads veya performSegueWithIdentifier
yöntemini kullanarak kodunuz aracılığıyla ayarlamanız gerekir. bağımsız seçilip şekilde, görünüm denetleyicisi aşağıdaki yöntemi ateş edeceği, bu nedenle böyle yapın, bu segue
mesaj göndererek hangi bilmek geçersiz kılmak gerekir:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierOne"]) {
// button 1
}
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierTwo"]) {
// button 2
}
}
İlgili konular
- 1. Hangi Checksum kullanıldığını bulma
- 2. Bundler hangi ortamın kullanıldığını biliyor?
- 3. Hangi paylaşım uzantısının kullanıldığını belirleme
- 4. Yongongb'da hangi depolama motorunun kullanıldığını nasıl öğrenebilirim?
- 5. OSX Kakao: Hangi pencerenin odakta kontrol edilir?
- 6. argparse: hangi alt toplayıcının kullanıldığını tanımlayın
- 7. Hangi kimlik doğrulama mekanizmasının kullanıldığını ayırt edin
- 8. Hangi düğme, segue eylemine neden oldu?
- 9. OpenMPI'de hangi MCA parametrelerinin kullanıldığı nasıl kontrol edilir?
- 10. Bir nesnenin hangi .bpl paketine ait olduğunu nasıl kontrol edilir
- 11. ps yardımcı programı, hangi CPU'nun kullanıldığını denetleme
- 12. RxJava ve Sqlbrite - hangi operatörün kullanıldığını
- 13. MS Access veritabanımda hangi kodlama sisteminin kullanıldığını nasıl belirleyebilirim
- 14. Matplotlib tarafından hangi arka uç kullanıldığını nasıl belirlersiniz?
- 15. UISearchController segue
- 16. AVPlayer durumu nasıl kontrol edilir?
- 17. Yakınlık algılayıcısı nasıl kontrol edilir?
- 18. Ubuntu'da Apache2 nasıl kontrol edilir?
- 19. umbraco'da çerez nasıl kontrol edilir?
- 20. Hazır animasyon nasıl kontrol edilir?
- 21. Medya birimi nasıl kontrol edilir?
- 22. Swift'de launchOptions nasıl kontrol edilir?
- 23. Dize Havuz İçeriği nasıl kontrol edilir?
- 24. Express JS .all() yöntemini kullanın: hangi VERB'nin kullanıldığını saptayın
- 25. Bir msbuild işlemi sırasında hangi Tipcript sürümünün kullanıldığını belirler?
- 26. Bir segue nasıl yapılır
- 27. Web sayfasında hangi yazı tipi varyantlarının kullanıldığını belirleme?
- 28. iOS - segue
- 29. Perl'de çoklu desen eşleşmesi nasıl kontrol edilir
- 30. ram tüketimi nasıl kontrol edilir javascript
Bunu yapmış, ancak ettik bu koyduğunuzda: PageScrollViewController * kontrolör = (PageScrollViewController *) segue.destinationViewController; controller.startStory = YES; uygulama çöküyor – nonuma
*** Yakalanmamış istisna 'NSInvalidArgumentException' nedeniyle uygulama sonlandırma, nedeni: '- [UIViewController setStartStory:]: örneğine gönderilen tanınmayan seçici 0x9976420' *** İlk çağrı bloğu atmak: – nonuma
Tuhaf kısmı hata "setStartStory" hakkında bir şeyler söylüyor ama bunu hiç kullanmadım? StartStory kullanıyorum – nonuma