gpt4 book ai didi

java - 在 swift 中转义闭包以及如何在 Java 中执行它

转载 作者:行者123 更新时间:2023-11-30 10:50:52 25 4
gpt4 key购买 nike

我正在为 iOS 和 Java 开发一个应用程序,在我的 swift 程序中,我有一个使用转义闭包传递字符串数组的函数。在 swift 中,它的 func 定义如下

func foo(uid: String, onComplete: @escaping([String]) -> Void { 
onComplete(someStringArray)
}

它的函数调用是

class.foo(uid: player1, onComplete { (stringArray) in {
do something with stringArray
}

我现在的主要关注点是为 Java 解决这个问题。最大的问题是我正在使用 Google 的 Firebase 数据库,它异步加载数据,因此简单地创建返回函数是行不通的,因为返回将在加载所有数据之前被调用。我听说过可能会回电,但我想在我把宝贵的时间花在错误的任务上之前,我应该先在这里问一下。我想 Java 版本是

void foo(String uid, onComplete...) { 
onComplete(someStringArray)
}

无论如何,我希望我尽可能详细,并感谢任何帮助!-本

最佳答案

您可以使用Lambda Expressions .

这是一个例子:

public class LambdaExample{

interface OnCompletion {
void onCompletion(String msg);
}

public static void performAction(String msg, OnCompletion completion){
completion.onCompletion(msg);
}

public static void main(String []args){
String msg = "Congratulations! ";
performAction(
msg,
// Implement interface method. Add your own definition.
(x) -> {
System.out.println(x + "Code completed.");
}
);
}
}

关于java - 在 swift 中转义闭包以及如何在 Java 中执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54566753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com