下面的代码给我错误:

类型名称的预期标识符

也许这可能是我应该自我处理的原因,因为我看到了一些帖子。但这没用。

Xcode谈论我什么样的标识符?
我该如何解决?

如果我更正了此错误,但是还有更多错误,我应该使用UITableViewController而不是单独的UIViewControllerUITableViewDelegate吗?

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的一部分。

10-04 18:22