在我的应用程序,我有一个problème当我尝试在Array达成一项指标,该阵列实际上是空的。 我找不到什么排空,所以我想知道是否有可能与调试器来创建一个动态的断点,将弹出时,我的数组是空的。 因此,一旦某些项重置阵列或带走它的最后一个对象,我想知道。
我试图创建与“myArray.isEmpty ==真”为条件的符号断点,但它看起来并不工作,我想要的方式。
是否有可能还是我在做梦?
谢谢
在我的应用程序,我有一个problème当我尝试在Array达成一项指标,该阵列实际上是空的。 我找不到什么排空,所以我想知道是否有可能与调试器来创建一个动态的断点,将弹出时,我的数组是空的。 因此,一旦某些项重置阵列或带走它的最后一个对象,我想知道。
我试图创建与“myArray.isEmpty ==真”为条件的符号断点,但它看起来并不工作,我想要的方式。
是否有可能还是我在做梦?
谢谢
作为@kendall提到,您可以使用didSet
检测当数组被清空,并把断点就可以了:
// a acts like a normal variable
var a: [Int] = [] {
// but whenever it’s updated, the following runs:
didSet {
if a.isEmpty {
// put a breakpoint on the next line:
println("Array is empty")
}
}
}
a.append(1)
a.append(2)
println(a.removeLast())
// will print “Array is empty” before the value is printed:
println(a.removeLast())
你想要什么叫做观察点,它可以让你监控在内存中的变化。 我现在还无法确定如何设置一个在斯威夫特阵列,但可能是研究一个很好的起点。
一个想法是一个加didSet{}
块保存阵列的性能,增加内的日志语句-上根据你的病情,该数组为空休息。
据我所知,这是不可能的斯威夫特和Xcode中(或IDE的任何其他语言我都用过)。 为了使这项工作的IDE必须在执行程序中的每一步,以不断评估给定的表达式。
现在,如果数组是类,你可以继承,并在重写添加断点isEmpty
方法,但是,当他们被归你不能。 :-(