In Swift, ich eine Schließung Methode erstellt haben (glaube ich):Konvertierung Swift Block zu Objective-C-Block
func firstMove(action: UIAlertAction!) {
if action.title == "Yes" {
currentPlayer = "X"
} else {
currentPlayer = "0"
}
Dass ich in diesem UIAlertAction Methode übergeben:
let optionToStartController = UIAlertController(title: "", message: "Do you want first move?", preferredStyle: .Alert)
optionToStartController.addAction(UIAlertAction(title: "Yes", style: .Default, handler: firstMove))
Wie kann ich Konvertieren Sie sowohl den Abschluss als auch die Methode in Objective-C?
ich tun haben versucht:
- (void)firstMove:(UIAlertAction*)action
{
if ([action.title isEqual: @"Yes"]) {
_currentPlayer = 'X';
} else {
_currentPlayer = 'O';
}
}
Und es wie folgt übergeben:
UIAlertController *optionToStartController = [UIAlertController alertControllerWithTitle:@"" message:@"Do you want first move?" preferredStyle:UIAlertControllerStyleAlert];
[optionToStartController addAction:[UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler: firstMove]];
Was möchten Sie tun? Zeigen Sie ein 'UIAlert', wenn Sie ein' UIButton' drücken? Machen Sie sich klar, was genau Sie tun möchten. – Dershowitz123
Ja, das möchte ich tun. – Lagos341
Warum möchten Sie das tun? Fügen Sie einfach einen Bridging-Header hinzu und Sie können Swift und Objective-C im selben Projekt verwenden! – Sweeper