在表视图中循环解析数据
Looping in tableview for Parse data
当我从 Parse 为我的表视图获取数据时,我遇到了以下问题:
- 如果我有 3 个部分,它会循环播放 3 个部分中每个部分的所有内容。
- 我的 titleforheader 总是显示第一节标题。
- 我已经使用了 objectEnumerator(),但每次单击时它都不同。
这是我当前的代码:
override func viewDidLoad() {
super.viewDidLoad()
cata(Item as NSString)
for i in 1...self.sec
{
loadData(i)
}
}
func loadData(i:Int){
self.timelineData.removeAllObjects()
var findTimelineData:PFQuery = PFQuery(className: "category")
findTimelineData.whereKey("type", equalTo:"\(Item)")
findTimelineData.whereKey("section", equalTo:i)
findTimelineData.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!)->Void in
if error == nil{
for object in objects{
let sweet:PFObject = object as PFObject
self.timelineData.addObject(sweet)
let array:NSArray = self.timelineData.objectEnumerator().allObjects
self.timelineData = NSMutableArray(array: array)
println(array)
}
}
self.tableView.reloadData()
}
}
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String {
var query = PFQuery(className: "category")
query.whereKey("type", equalTo:"\(Item)")
query.whereKey("section", equalTo:1)
query.getFirstObjectInBackgroundWithBlock {
(object: PFObject!, error: NSError!) -> Void in
if error == nil {
println("Successfully retrieved ")
let name = object["title"] as String
self.name = name
} else {
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
return name
}
你似乎总是要求第 1 部分?
query.whereKey("section", equalTo:1)
这不应该是:
query.whereKey("section", equalTo:section)
当我从 Parse 为我的表视图获取数据时,我遇到了以下问题:
- 如果我有 3 个部分,它会循环播放 3 个部分中每个部分的所有内容。
- 我的 titleforheader 总是显示第一节标题。
- 我已经使用了 objectEnumerator(),但每次单击时它都不同。
这是我当前的代码:
override func viewDidLoad() {
super.viewDidLoad()
cata(Item as NSString)
for i in 1...self.sec
{
loadData(i)
}
}
func loadData(i:Int){
self.timelineData.removeAllObjects()
var findTimelineData:PFQuery = PFQuery(className: "category")
findTimelineData.whereKey("type", equalTo:"\(Item)")
findTimelineData.whereKey("section", equalTo:i)
findTimelineData.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!)->Void in
if error == nil{
for object in objects{
let sweet:PFObject = object as PFObject
self.timelineData.addObject(sweet)
let array:NSArray = self.timelineData.objectEnumerator().allObjects
self.timelineData = NSMutableArray(array: array)
println(array)
}
}
self.tableView.reloadData()
}
}
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String {
var query = PFQuery(className: "category")
query.whereKey("type", equalTo:"\(Item)")
query.whereKey("section", equalTo:1)
query.getFirstObjectInBackgroundWithBlock {
(object: PFObject!, error: NSError!) -> Void in
if error == nil {
println("Successfully retrieved ")
let name = object["title"] as String
self.name = name
} else {
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
return name
}
你似乎总是要求第 1 部分?
query.whereKey("section", equalTo:1)
这不应该是:
query.whereKey("section", equalTo:section)