首先,感谢您阅读我的问题!
所以,我遇到了一些关于让我的单元名称传递到下一个视图的问题。现在它将传递它,但它只显示最近加载的单元格。
现在是如何编程的:
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弱var名称:UILabel! @IBOutlet weak var喜欢:UILabel! @IBOutlet weak 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。 (在导航控制器中)
非常感谢!
答案 0 :(得分: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!)!