出于某种原因,下面列表中的代码会导致clang ++和g ++使用100%的CPU,并填满内存直到我的系统挂起。
请注意,这是一个谈话的玩具示例。我知道GET
和String str = "/property/33951?year=2017&taxType=RE";
Pattern pattern = Pattern.compile("(\\?|\\&)([^=]+)=([^&]+)");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(2) + " = " + matcher.group(3));
}
是执行此操作的标准方法,但此代码是推理链中的中间点。
accumulate
transform
函数用于实现一个递归,该递归采用一系列整数和一元函数,将元素按元素应用于范围,并生成映射元素的总和。
我有两个问题:(1)发散行为的原因是什么,以及(2)我应该如何制作和传递尾部视图以使编译不会崩溃?
答案 0 :(得分:2)
Jarod42指出了这个问题,但解决方案非常简单。您需要一个可以占用任何范围的类型删除视图。幸运的是,such a thing exists。将您的代码更改为:
func plusBtnClicked(_ sender: AnyObject?) {
score += 1
self.tableView.reloadData()
}
func minusBtnClicked(_ sender: AnyObject?) {
score -= 1
self.tableView.reloadData()
}
这打印285。