"toSecond" adlı secondViewController segue ile viewController sahibim.xib'den performSegueWithIdentifier nasıl aranır?
viewController içindeviewController().goToSecond()
Bu kod
func goToSecond() {
self.performSegueWithIdentifier("toSecond", sender: self)
}
ile işlevi vardır ama basıldığında: viewController olarak i eylem ile düğmesi bu customView içinde customView.xib
let myCustomView = NSBundle.mainBundle().loadNibNamed("customView", owner: self, options: nil)[0]
yük customView düğmesine bir hata oluyorum:
viewController has no segue with identifier 'toSecond'
Bu işlevi doğrudan viewController'dan aradığımda tüm işlemler harika!
Peki, performSegueWithIdentifier öğesini benim customView'ümden nasıl arayabilirim?
customView kaynak kodu:
import UIKit
class customView: UIView {
@IBAction func ToSecondButton(sender: AnyObject) {
viewController().goToSecond() }
}
viewController kaynak kodu:
import UIKit
class viewController: UIViewController {
...
let myCustomView = NSBundle.mainBundle().loadNibNamed("customView", owner: self, options: nil)[0]
self.view.addSubview(myCustomView)
func goToSecond() {
self.performSegueWithIdentifier("toSecond", sender: self)
}
...
}
özel bir görünüm için dosya'nın sahibi manzarası denetleyicisi ise, anlamıyorum nasıl bu kodu: ' viewController() goToSecond() ' özel görünümünüzün içinde bulunur. Özel görünümünüz için daha fazla kaynak kodu sağlayabilir misiniz? Özel görünümde görünüm denetleyicisine nasıl bir başvuru oluşturuyorsunuz? –
view viewer gösterme içinde customView mevcut ... viewController ve secondViewController arasında segue ... func goToSecond() viewController'dan doğrudan çağrı yapabilir ama customView'den olamaz! Eğer goToSecond işlevinde baskı gibi bir şey yazıyorsanız ("Tıklayın!") bu logu tıklatarak görüyorum! – Dmitry
Gelecekte, [Cocoa adlandırma kuralları] 'na uymanızı tavsiye ederim (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002242-BBCIJGDB), tüm sınıf adları büyük harflerle başlar. Bu gereksiz kafa karıştırıcı oldu ... – Rob