-2
ユーザー情報全体を渡したい、私はUserクラスがあります。ユーザー名、名前、UID、イメージを別のView Controllerに渡したいと思います。テーブルビューから別のビューコントローラに複数の値を渡そうとしています
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! NewChatTableViewCell
let user = usersarray[indexPath.row]
let ColorView = UIView()
ColorView.backgroundColor = UIColor(red: 0.05, green: 0.15, blue: 0.28, alpha: 0.7)
cell.selectedBackgroundView = ColorView
cell.backgroundColor = UIColor.clear
cell.backgroundView?.backgroundColor = UIColor.clear
cell.firstname.text = user.firstname! + " " + user.lastname!
cell.username.text = "@" + user.username!
cell.userimage?.layer.masksToBounds = true
cell.userimage.layer.cornerRadius = 20
cell.userimage.clipsToBounds = true
if let profileimage = user.profilepic
{cell.userimage.loadImageCache(urlString: profileimage)}
return cell
}
func callmessage(){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "message")
self.present(controller, animated: true, completion: nil)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let indexPath = tableView.indexPathForSelectedRow!
callmessage(user: User!)
}
ヒント: 'prepareForSegue()'。このビューのデータを受け取り、現在のviewcontrollerでこのメソッド内の値を割り当てるために、 。幸いです! –
TableViewsでデータを扱うために 'struct'を使用することをお勧めします - 別のViewCoでデータを参照するにはそのタイプのグローバルオブジェクトを作成するのと同じくらい簡単です。 – KSigWyatt
宛先クラスにタプルを作成し、あるクラスのタプルをすべての値を持つ別のクラスに渡すこともできます –