在我写的一些代码中,我有一个数组
var numbas = [“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”]
为了筛选出非数字,我编写了以下代码:
override func controlTextDidChange(obj: NSNotification)
{
for x in numbas{
if entryText.stringValue.rangeOfString(x) == nil{
if currentDegRadorFoo != "foo" {
println("hi")
entryText.stringValue = dropLast(entryText.stringValue)
}
}
}
这个想法是,如果numba数组中没有一个字符,那么应该立即删除它。但是,代码每次都会崩溃
entryText.stringValue = dropLast(entryText.stringValue).
当我摆脱方法dropLast时,我留下了entryText.stringValue =(entryText.stringValue)
,
它运行正常,只是没有删除字符串。那么dropLast
是什么呢,这会导致程序崩溃?以前,我使用了所有字母[“a”,...“z”]的数组,然后说了
如果entryText.stringValue.rangeOfString(x)!= nil
即使使用dropLast也能正常工作。这是一个快速的错误,还是有什么我做错了?感谢