にスウィフトブロックの変換、私は(私が思う)クロージャーメソッドを作成しました:スウィフトでのObjective-Cブロック
func firstMove(action: UIAlertAction!) {
if action.title == "Yes" {
currentPlayer = "X"
} else {
currentPlayer = "0"
}
私はこのUIAlertActionメソッドに渡すこと:
let optionToStartController = UIAlertController(title: "", message: "Do you want first move?", preferredStyle: .Alert)
optionToStartController.addAction(UIAlertAction(title: "Yes", style: .Default, handler: firstMove))
どのようにすることができますクロージャとメソッドの両方をObjective-Cに変換しますか?私がやって試してみました
:
- (void)firstMove:(UIAlertAction*)action
{
if ([action.title isEqual: @"Yes"]) {
_currentPlayer = 'X';
} else {
_currentPlayer = 'O';
}
}
そして、このようにそれを渡す:クロージャのあなたがブロックを探している可能性があり
UIAlertController *optionToStartController = [UIAlertController alertControllerWithTitle:@"" message:@"Do you want first move?" preferredStyle:UIAlertControllerStyleAlert];
[optionToStartController addAction:[UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler: firstMove]];
あなたは何をしたいですか? 'UIButton'を押すと' UIAlert'を表示しますか?あなたがしたいことが何であるかを明確にしてください。 – Dershowitz123
はい、それは私がやるべきことです。 – Lagos341
なぜそれをしたいですか?ブリッジヘッダーを追加するだけで、SwiftとObjective-Cを同じプロジェクトで使用できます! – Sweeper