小编Doe*_*ata的帖子

配对和斯威夫特

我正在使用Swift,SpriteKit和Firebase进行多人游戏.

这是我第一次使用多人游戏和GameKit,所以我没有得到配对的概念.我读了Apple文档,但老实说它不清楚,它告诉我实时匹配可以做什么,并在objective-c中显示一些代码.

我花了很长时间在swift中搜索配对,我只发现了这个.

我知道每场比赛都是从比赛开始,matchRequest但我不知道该怎么做.

配对如何运作?我应该使用什么方法?有谁知道我在哪里可以找到一个例子?

multiplayer ios firebase sprite-kit swift

5
推荐指数
0
解决办法
263
查看次数

Swift:更新 UI - 主线程上的整个功能还是只是 UI 更新?

我读过 UI 应该总是在主线程上更新。但是,当谈到实现这些更新的首选方法时,我有点困惑。

我有各种函数来执行一些条件检查,然后结果用于确定如何更新 UI。我的问题是整个函数应该在主线程上运行吗?应该只更新用户界面吗?我可以/应该在另一个线程上运行条件检查吗?它是否取决于功能的作用或您希望它完成的速度?

示例一个在没有线程的情况下更改 ImageView 中的图像的函数:

@IBAction func undoPressed(_ sender: Any) {
        if !previousDrawings.isEmpty {
            previousDrawings.remove(at: previousDrawings.count - 1)
            if let lastDrawing = previousDrawings.last {
                topImageView.image = lastDrawing
            }
            else {
                // empty
                topImageView.image = nil
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我应该topImageView.image在主线程上设置吗?像这样:

 @IBAction func undoPressed(_ sender: Any) {
        if !previousDrawings.isEmpty {
            previousDrawings.remove(at: previousDrawings.count - 1)
            if let lastDrawing = previousDrawings.last {
                DispatchQueue.main.async {
                    self.topImageView.image = lastDrawing
                }
            }
            else {
                DispatchQueue.main.async {
                    self.topImageView.image = nil
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

user-interface multithreading ios swift

5
推荐指数
2
解决办法
1万
查看次数

是Swift词典的性能索引?即使是异国风情(UUID)?

我想构建一些将保留以便快速搜索的数组.如果我使用这样的东西:

let dictionary: [Int:Int] = [:]
for i in 0 ..< 10000000 {
    dictionary[i] = 0
}
Run Code Online (Sandbox Code Playgroud)

请问查询:

dictionary[n] == nil
Run Code Online (Sandbox Code Playgroud)

在对数时间内执行?

如果是,对其他类型是否相同:Float,Double,String.

最后,我需要它使用UUID类型,它会工作吗?

performance dictionary logarithm indexed swift

3
推荐指数
1
解决办法
2043
查看次数