以下代码给出了错误:
类型名称的预期标识符
也许这可能是我应该用自己处理它的原因,因为我看到了一些帖子。但它不起作用。
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
}
}
答案 0 :(得分:7)
您的班级定义中有一个不需要的逗号(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
的一部分。
答案 1 :(得分:2)
那里有一个额外的逗号。
class Home: UIViewController, UITableViewDelegate, { //error here "expected identifier for type name"
应该是:
class Home: UIViewController, UITableViewDelegate { //error here "expected identifier for type name"