我已经创建了一个自定义类,它将节标题和节内容添加到UITableViewCell。 我已经设法让各个部分出现,但由于一些奇怪的原因,每个部分都被添加了5次。
部分项目类
class MainSectionItems: SectionItems {
override init() {
//super.init()
}
}
class SectionItems:NSObject{
var sections:[String] = []
var artists:[[String]] = []
var songs:[[String]] = []
var imgUrl: [[String]] = []
func addSection(section: String, artist:[String], song: [String], imageUrl: [String]){
sections += [section]
artists = artists + [artist]
songs = songs + [song]
imgUrl = imgUrl + [imageUrl]
}
}
MainViewController
override func viewDidLoad() {
getData{
(msg) in
self.menuItems.addSection("Featured Post", artist: self.artistArray, song: self.songNameArray, imageUrl: self.imgUrls)
self.tVewCell.reloadData()
self.collectionView.reloadData()
SwiftSpinner.hide()
}
}
getData是一个从parse.com 检索5个对象的方法 geData功能
func getData ( completionHandler: (String) -> ()) -> () {
let query = PFQuery(className:"chordBankA")
query.orderByDescending("Artist")
query.limit = 5
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
for object in objects! {
self.artistArray.append((object.objectForKey("Artist")) as! String)
self.songNameArray.append(((object.objectForKey("Song")) as! String))
self.imgUrls.append(((object.objectForKey("imgUrl")) as! String))
completionHandler("0");
}
} else {
print("Error: \(error!) \(error!.userInfo)")
completionHandler("1");
}
}
答案 0 :(得分:1)
感谢您分享getData
代码。你的问题是你在内部调用你的完成块for循环。把它放在外面循环,你应该很好!