Ich möchte einen Delegaten für die Kommunikation zwischen einem View-Controller und einer Klasse einrichten. Aber es gibt keinen Delegierten, weil es keinen prepareForSegue
Verbindungstyp gibt. Wo sollte ich den Delegierten setzen und wie soll ich den Code umsetzen? HierStellvertreter zwischen einem View-Controller und einer Klasse
ist der Code:
Protokoll in Swift:
@objc public protocol translationMadeDelegate: class {
func didGetTranslation(translation:CGPoint)
}
Delegierter Initialisierung in viewDidLoad
in Swift:
var delegate:translationMadeDelegate?
let trans:CGPoint = CGPointMake(100, 100)
self.delegate!.didGetTranslation(trans)
Objective-C-Klasse delegieren Anruf
- (void)didGetTranslation:(CGPoint *)translation {
NSLog(@"cgpointed");
}
In Ihrem Code gehen sollte, 'delegate' wird gleich Null sein und die App abstürzt. – ryantxr
Normalerweise wird der Delegat in oder nach der 'init'-Methode der Klasse gesetzt. – vadian