前提・実現したいこと
現在フォロワー一覧をtableviewを用いて作成しようとしています。
cellにユーザー名等を表示させることには成功していますが、コードからアクセスするとデフォルトのテキストしか取得できません。助言をよろしくお願いします。
該当のソースコードと問題
swift
1// セルをタップした時に呼ばれる処理 2 func tableView(_ table: UITableView,didSelectRowAt indexPath: IndexPath) { 3 let storyboard: UIStoryboard = self.storyboard! 4 let cell = tableView.dequeueReusableCell(withIdentifier: "SocialTableViewCell", for: indexPath as IndexPath) as! SocialTableViewCell 5 if let OthersProfileViewController = storyboard.instantiateViewController(withIdentifier: "OthersProfileView") as? OthersProfileViewController{ 6 print(cell.returnUserID()) 7 print(cell.returnUserName()) 8 print(indexPath.row) 9 //OthersProfileViewController.icon = cell.icon 10 OthersProfileViewController.userID_string = cell.returnUserID() 11 OthersProfileViewController.name_string = cell.returnUserName() 12 OthersProfileViewController.modalPresentationStyle = .fullScreen 13 self.present(OthersProfileViewController, animated: true, completion: nil) 14 } 15 }
セルをタップすると、セルに応じたパラメータを用いて作成したプロフィール画面に飛ぶようにしています。
OthersProfileViewControllerには上記の変数は全て実装済みで、returnUserID()等はSocialTableViewCell.swiftで以下のように定義しています。
swift
1func returnUserID() -> String{ 2 return UserID.text! 3 } 4 func returnUserName() -> String{ 5 return UserName.text! 6 }
tableviewには以下のようにデータが入っているのですが、UserID.textをreturnした際、デフォルト値である"UserID"しか取得できません。indexPath.rowは選択したセルに応じて値を取得できています。
###補足
質問が抽象的かもしれません。何かの情報が足りなければリクエストくださいませ。
回答1件
あなたの回答
tips
プレビュー