gpt4 book ai didi

java - 将 objective-c 面向 block 的 api 转换为 android

转载 作者:行者123 更新时间:2023-11-29 09:07:24 25 4
gpt4 key购买 nike

我的任务是将我们在 iOS 中完全用 block 编写的网络服务层转换为适用于 Android 的类似内容。由于 Java 还没有闭包,什么是合理的方法?

API 调用示例:

if (![data.locationsAPI cityNamesForCity:self.searchBox.text
onSuccess:^(JSONRef * ref)
{
locations = [[ref valueForKey:@"cities"]arrayCopy];
[self.searchTable reloadData];
[self.hotelTable reloadData];

} onFailure:^(IOError * error)
{
locations = nil;
[self.searchTable reloadData];
}])
{
[self notReachableAlert];
}

成功/失败 block 在主线程上调用,而内部 api 调用在后台线程中。

我可以对匿名类做一些类似的事情,匿名类将传递给原始类,然后原始类可以分派(dispatch)给某个方法来处理结果。有没有更好的办法?

最佳答案

您可以使用模式委托(delegate) http://en.wikipedia.org/wiki/Delegation_pattern .传递采用某些方法的委托(delegate)对象。在获得一些结果后,使用结果值调用此方法。

关于java - 将 objective-c 面向 block 的 api 转换为 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123220/

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