首页 文章

将单元名称传递给View Controller旁边

提问于
浏览
0

首先,感谢您阅读我的问题!

所以,我遇到了一些关于让我的单元格名称传递到下一个视图的问题 . 现在它将传递它,但它只显示最近加载的单元格 .

以下是它的编程方式:

var passName = ""
var passAuthor = ""
var passLikes = 0
var passDescrip = ""

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)!

    // Configure the PFQueryTableView
    self.parseClassName = "Location"
    self.textKey = "Name"
    self.pullToRefreshEnabled = true
    self.paginationEnabled = true
    self.objectsPerPage = 5

}
override func queryForTable() -> PFQuery {
    let query = PFQuery(className: "Location")
    query.orderByAscending("Name")
    return query
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> CustomPFTableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomPFTableViewCell!

    print("Loading Parse Database Files...")
    // Extract values from the PFObject to display in the table cell
    if let name = object?["Name"] as? String {
        cell?.nameTextLabel?.text = name
        passName = name
        print("Loading " + name)
    }
    if let author = object?["authorName"] as? String {
        cell?.authorTextLabel?.text = author
        passAuthor = author
    }
    if let likes = object?["Likes"] as? Int {
        let stringVal = String(likes)
        cell?.numLikes.text = stringVal
        passLikes = likes
    }
    if let descrip = object?["Description"] as? String {
        passDescrip = descrip

    }
    let initialThumbnail = UIImage(named: "Unloaded")
    cell.customFlag.image = initialThumbnail
    if let thumbnail = object?["imageCover"] as? PFFile {
        cell.customFlag.file = thumbnail
        cell.customFlag.loadInBackground()


    }
    print("Finished loading!")


    return cell
}

//Original prepareForSegue
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "toDetailScene") {

        // initialize new view controller and cast it as your view controller
        let viewController = segue.destinationViewController as! DetailViewController




        viewController.tripName = passName
        viewController.tripAuthor = passAuthor
        viewController.tripLikes = passLikes
        viewController.tripDescrip = passDescrip
    }
}

稍后,下一个视图控制器通过这个简单的代码收到它:@IBOutlet weak var name:UILabel! @IBOutlet weak var喜欢:UILabel! @IBOutlet弱var作者:UILabel! @IBOutlet weak var descrip:UITextView!

var currentObject : PFObject?

var tripName = ""
var tripAuthor = ""
var tripLikes = 0
var tripDescrip = ""

override func viewDidLoad() {
    super.viewDidLoad()



    //Hookup
    name.text = tripName
    likes.text = String(tripLikes)
    author.text = tripAuthor
    descrip.text = tripDescrip

}

我需要修复它,以便它不会一直显示错误的文章/信息 .

如果我可以简单地拉出他们点击的正确单元格,那么我可以从每个标签中提取文本吗?那么我怎样才能获得正确的细胞呢?

顺便说一下:它只是从一个单元格到一个视图控制器,用show segue来控制下一个视图控制器 . (在导航控制器中)

非常感谢!

1 回答

  • 0

    @ Paulw11在评论中回答了这个问题,它解决了我的问题 .

    发件人:AnyObject?允许我添加:

    let cell = sender as! CustomPFTableViewCell
    

    然后从那里我所要做的就是更新方法以直接从单元格连接文本字段的新值 .

    这是代码:

    let viewController = segue.destinationViewController as! DetailViewController         
    let cell = sender as! CustomPFTableViewCell
    
            viewController.tripName = cell.nameTextLabel.text!
            viewController.tripAuthor = cell.authorTextLabel.text!
            viewController.tripLikes = Int(cell.numLikes.text!)!
    

相关问题