我尝试使用来自一系列数组的潜在信息填充表格视图。我希望他们按顺序列在索引中。它是前十名,所以如果一个元素在某个时间不存在,它应该跳过它。我可以用array.append做到这一点。我尝试使用array.insertAtIndex并获得"致命错误:数组超出范围"。这是我的代码........
let query = PFQuery(className: "UserVideos")
query.whereKey("userObjectId", equalTo: PFUser.currentUser()!.objectId!)
query.findObjectsInBackgroundWithBlock { (vid:Array?, error:NSError?) -> Void in
if vid != nil
{
for items in vid!
{
if let myfav1 = items["vid1"] as? NSArray
{
let id = myfav1[0] as! String
let rank = myfav1[1] as! String
let title = myfav1[2] as! String
let description = myfav1[3] as! String
let image = myfav1[4] as! String
self.vidRankArray.insert(rank, atIndex: 0)
self.vidIdArray.insert(id, atIndex: 0)
self.vidTitleArray.insert(title, atIndex: 0)
self.vidDescriptionArray.insert(description, atIndex: 0)
self.vidImageArray.insert(image, atIndex: 0)
}
if let myfav2 = items["vid2"] as? NSArray
{
let id = myfav2[0] as! String
let rank = myfav2[1] as! String
let title = myfav2[2] as! String
let description = myfav2[3] as! String
let image = myfav2[4] as! String
self.vidRankArray.insert(rank, atIndex: 1)
self.vidIdArray.insert(id, atIndex: 1)
self.vidTitleArray.insert(title, atIndex: 1)
self.vidDescriptionArray.insert(description, atIndex: 1)
self.vidImageArray.insert(image, atIndex: 1)
}
if let myfav3 = items["vid3"] as? NSArray
{
let id = myfav3[0] as! String
let rank = myfav3[1] as! String
let title = myfav3[2] as! String
let description = myfav3[3] as! String
let image = myfav3[4] as! String
self.vidRankArray.insert(rank, atIndex: 2)
self.vidIdArray.insert(id, atIndex: 2)
self.vidTitleArray.insert(title, atIndex: 2)
self.vidDescriptionArray.insert(description, atIndex: 2)
self.vidImageArray.insert(image, atIndex: 2)
}
我正在获得这样的行数......
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return self.vidIdArray.count
}
答案 0 :(得分:0)
您只能将项目插入空数组的索引0,而不是1,2或其他。类似地,如果数组中有1个项目(索引0处),则只能在索引0或索引1处插入对象。
听起来您希望将数组用作 n 空白空间,您可以选择性地填充这些空间,而这不是这种类型数组的工作方式。