下面的代码给我错误:
类型名称的预期标识符
也许这可能是我应该自我处理的原因,因为我看到了一些帖子。但这没用。
Xcode谈论我什么样的标识符?
我该如何解决?
如果我更正了此错误,但是还有更多错误,我应该使用UITableViewController
而不是单独的UIViewController
和UITableViewDelegate
吗?
import UIKit
import Parse
class Home: UIViewController, UITableViewDelegate, { //error here "expected identifier for type name"
@IBOutlet weak var homepageTableView: UITableView!
var imageFiles = [PFFile]()
var imageText = [String]()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFQuery(className: "Posts")
query.orderByAscending("createdAt")
query.findObjectsInBackgroundWithBlock { ( posts : [AnyObject]?, error : NSError?) -> Void in
if error == nil {
//불러오는데 성공
for posts in posts! {
self.imageFiles.append(posts["imageFile"] as! PFFile)
self.imageText.append(posts["imageText"] as! String)
println(self.imageFiles.count)
}
/**reload the table **/
self.homepageTableView.reloadData()
println("reloaded")
} else {
println(error)
}
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return imageFiles.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : TableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell
//text
cell.previewCommentLabel.text = imageText[indexPath.row]
//image
imageFiles[indexPath.row].getDataInBackgroundWithBlock({ ( imageData : NSData?, error : NSError?) -> Void in
if imageData != nil {
//ㅇㅋ
var image = UIImage(data: imageData!)
cell.previewImage.image = image
}else {
println(error)
//no
}
})
return cell
}
}
最佳答案
您的类定义中有一个不需要的逗号(在UITableViewDelegate
之后)。
更改:
class Home: UIViewController, UITableViewDelegate, { //error here "expected identifier for type name"
至:
class Home: UIViewController, UITableViewDelegate { //error here "expected identifier for type name"
使用
UITableViewController
而不是UIViewController
代替UITableViewDelegate
不会有多大区别,因为您仍然必须实现相同的委托方法。但是,您必须实现
UITableViewDataSource
才能填充表视图。 UITableViewDelegate
用于处理行(等)的选择,而不是显示它们。重要的是,
tableView:numberOfRowsInSection:
和tableView(tableView:cellForRowAtIndexPath:
是UITableViewDataSource
的一部分。