2016-06-09 113 views
1

我得到了一个简单的循环,我想在该循环中追加一个变量,如果它存在的话。每个变量都被检查...有人知道为什么这会崩溃吗?导致NSRangeExceptionindex的循环

这是错误我得到:

NSRangeException', reason: '*** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray 

这就是数组声明和使用第一循环:

​​

这是类jsonValues:

import Foundation 
class JsonArrayValues { 

    init(){ 

    } 
    var name : String = "" 
    var distance = Float() 
    var lat = Float() 
    var lng = Float() 
    var openingTime = String() 
    var country = String() 
    var code = String() 
    var address = String() 
    var categories = String() 
    var city = String() 
    var type = String() 
    var brands = String() 

} 

编辑: 我添加了断点并更改了一些代码,以便能够更好地进行测试看起来像在环没有崩溃:

enter image description here

正如你可以在图片中看到,我已经设置开始10,因为我想这个应用程序崩溃的最后指数环索引。数组这是在最后一个索引,循环中断,但应用程序继续执行,这条线后右击崩溃:

doTableRefresh(tableView); 
+1

你在这段代码中有2个'Array's。我会通过注释TableData行来查看代码是否正常工作,从而将其缩小到导致问题的原因。还要在'if let'行上放置一个断点,并且看到所有的属性和变量都已初始化并且具有您期望的数据。如果我不得不猜测,问题可能出现在'jsonArrData'中[JsonArrayValues]。 – DJohnson

+0

你是对的,当我评论这行代码没有崩溃,但我需要这行代码。我已经把价值观安置好了,似乎他们会好起来的,至少前30名,所以它几乎在最后崩溃。我已更新帖子以添加一些代码以显示变量声明和用法 – user3033437

回答

0

我设法找到问题出在哪里了,这是不是在循环。我正在从tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell文件访问全局数组,该数组并没有从上面的循环中填充,所以它崩溃了。非常感谢评论!