小编glo*_*loo的帖子

swift协议Hashable中hashValue的性能考虑因素

除了是一个唯一的整数外,是否有任何性能考虑因素可以选择一个可以插入到?hashValue中的swift Hashable类型Set?例如,我选择的整数值的大小会影响后备数组的大小吗?即,如果我分配hashValue4000一个Hashable类型,并插入到一个Set将所述背衬阵列必须至少4000在长度?

hashset hashable swift

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

快速调用异步函数而不返回值

无论如何,Swift 的新结构化并发模型是否可以在没有虚拟布尔返回的情况下执行以下操作?

func do() async -> Bool {
  something()
  return true
}
async let foo = do()

//do other stuff
stuff()

//now I need to know that "do" has finished
await foo
Run Code Online (Sandbox Code Playgroud)

我知道我可以执行以下操作,但它不会同时运行:

func do() async {
  something()
}
await do()
stuff()

//cannot run "stuff" and "do" concurrently
Run Code Online (Sandbox Code Playgroud)

我觉得我在这里缺少一个基本想法,因为顶部的代码块做了我需要的事情,但由于 Bool 返回,感觉像是黑客攻击。

concurrency async-await swift

3
推荐指数
2
解决办法
4811
查看次数

函数可以在javascript中引用自身吗?

假设我们定义了一个函数,该函数只是将其输入增加一些存储值dd

var obj={}
obj.dd=1
obj.f=function(x){
    return x+this.dd
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以dd为以下内容创建一个闭包,但这将创建一个静态增量,而不是稍后可以更改的增量:

var dd=1
var f=function(x){
    return x+dd
}
Run Code Online (Sandbox Code Playgroud)

我们可以选择将其存储dd在函数本身中:

var obj={}
obj.f=function(x){
    return x+this.f.dd
}
obj.f.dd=1
Run Code Online (Sandbox Code Playgroud)

我很好奇一个函数是否有可能在不通过父对象的情况下检索附加到其自身的变量,就像一个self关键字,它引用该函数本身并允许以下操作:

var f=function(x){
    return x+self.dd
}
f.dd=1
Run Code Online (Sandbox Code Playgroud)

我知道没有必要做这样的事情,但我认为如果可以的话,这很酷。

javascript function this

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

如何杀死所有从“lsof -i”处理的

如何终止从以下命令返回的所有进程?

lsof -i
Run Code Online (Sandbox Code Playgroud)

我已尝试以下方法但无济于事:

lsof -i | awk '{print $2}' | kill
Run Code Online (Sandbox Code Playgroud)

linux terminal kill-process

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

在下一个计算着色器中使用一个计算着色器的结果的正确方法是什么

假设我在金属中分派了两个计算着色器 A 和 B。我不希望 B 在 A 完成之前运行。目前,我在自己的命令缓冲区中对每个着色器进行编码,并像这样提交:

commandBufferA.commit()
commandBufferA.waitUntilCompleted()
commandBufferB.commit()
Run Code Online (Sandbox Code Playgroud)

这是正确的技术吗?

compute-shader swift metal

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

Swift 中的await 如何处理元组?

我试图确保我理解 的行为await。假设我们有以下函数:

func do() async {
  //code
}
func stuff() async {
  //code
}
Run Code Online (Sandbox Code Playgroud)

以下语句将按do顺序运行stuff

await do()
await stuff()
Run Code Online (Sandbox Code Playgroud)

但下面的语句会并行do运行吗?stuff

await (do(), stuff())
Run Code Online (Sandbox Code Playgroud)

我不确定如何在 Xcode 中检查我的代码是并行运行还是顺序运行。

parallel-processing concurrency async-await swift

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