【发布时间】:2016-05-07 19:25:07
【问题描述】:
首先,感谢您阅读我的问题!
所以,我遇到了一些关于让我的单元格名称传递到下一个视图的问题。现在它会传递它,但它只会显示最近加载的单元格。
这是它现在的编程方式:
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 弱变量名称:UILabel! @IBOutlet 弱变量喜欢:UILabel! @IBOutlet 弱变量作者:UILabel! @IBOutlet 弱变量描述: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 的视图控制器的下一个视图控制器。 (在导航控制器中)
非常感谢!
【问题讨论】:
-
如果你直接从单元格触发segue,我想你会发现
prepareForSegue中的sender是被点击的单元格 -
目前还不清楚帖子中发生了什么或您在问什么......但是当他们点击一个单元格时,cellForRowAtIndexPath 将确保处理该点击的行
-
segue 最好是从视图控制器到目标视图控制器,而不是从单元格。这可能会有所帮助
标签: ios xcode swift uitableview parse-platform