在这种情况下如何访问IndexPath?我想在按钮点击功能中使用它。我已经在需要的地方显示了它。
编辑: 我在tableView下面有一个注释按钮和一个文本字段,如果单击该按钮,我希望它附加到数组中
class Comments: UIViewController, UITableViewDelegate, UITableViewDataSource {
var comments = [MyPost]()
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var textield: UITextField!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return comments.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "commentCell", for: indexPath)
cell.textLabel?.text = comments[indexPath.row].comments
return cell
}
@IBAction func postCommentButton(_ sender: UIButton) {
comments[**here I need IndexPath**].comments = textield.text
tableView.reloadData()
}
}
MyPost类:
class MyPost {
var likes: Int16
var image: String?
var comments: String?
var hasLiked: Bool?
init(likes: Int16, image: String, comments: String, hasLiked: Bool) {
self.likes = likes
self.image = image
self.comments = comments
self.hasLiked = hasLiked
}
}
答案 0 :(得分:1)
根据您的解释,我了解到,postCommentButton向您的帖子添加了另外一条评论。
您应仅将MyPost类型的元素附加到elements数组并重新加载表
@IBAction func postCommentButton(_ sender: UIButton) {
// You can pass more param based on your actual image name, while initialize MyPost.
let newComment = MyPost(likes: 0, image: "default", comments: textield.text, hasLiked: false)
comments.append(newComment)
//comments[**here I need IndexPath**].comments = textield.text
tableView.reloadData()
}
希望有帮助。