首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速等价于Unity3d协同服务?

快速等价于Unity3d协同服务?
EN

Stack Overflow用户
提问于 2017-04-19 20:03:57
回答 1查看 919关注 0票数 2

看看如何在Swift 3中构建类似的东西。

我习惯于在Unity3d中使用这种架构,也许没有任何类似的东西来处理异步数据。我听说过完成块+使用协议/委托在Swift中传递数据,但我认为有一个获取数据的公共函数,然后使用协同线来等待所有数据都在VC中启动,这样会更容易。

下面是我用来创建它们的C#代码:

代码语言:javascript
复制
List<Int> data = new List<Int>;

private IENumerator get_data() 
{ 
    run_async_func_to_get_data();

    while(data.count == 0) 
    {
       yield return null;
    }

    yield break;
}


private IENumerator start_game()
{
   yield return get_data();
   yield return use_data();
}

void Start() 
{
    StartCoroutine(start_game);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-19 20:37:12

不,Swift目前不支持https://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx (即yield return样式构造)。顺便说一句,这样的功能相当酷;-)

话虽如此,您可能希望在异步框架中寻找一个比较有效的替代方案(如果您真的在寻找异步/等待抽象):

中央调度异步调度中的语法糖

至于Swift本机支持,我们可能需要等待Swift≥5来实现这样的功能:

参与者、异步/等待、原子性、内存模型和相关主题。这个领域是每个人都非常渴望的,因为它将为客户端、服务器和更多方面的各种新事物打开大门。我们计划在第二阶段开始关于这个问题的正式讨论,但不幸的是,很明显,一个新的并发模型不会在Swift 4发布之前完成。这仅仅是因为它将需要超过12个月的时间来设计和建造,我们想要确保花时间去做正确的事情。在开始之前,更好地理解内存所有权模型也是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43505101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档