Xcode 8.2.1
Swift3
掲示板アプリを作っているのですが1つわからなところがあり投稿しました。
ツイッターなどでも見られるUIで、つぶやいたユーザーのプロフィール画像をタップすると
タップしたユーザーのプロフィール画面に遷移するような仕組みを導入したいと思っています。
下記は制作中の画像をキャプチャしました。
赤丸をタップするとタップしたユーザーのプロフィールページに遷移したい。
★現在できていること★
・赤丸のユーザー画像の上にはUIButtonをセットしているので「postUserProfileNextButton(UIButtonです)」にaddTargetでsegueまでできている。問題なくページ遷移もできている。
cell.postUserProfileNextButton.addTarget(self, action: #selector(profileViewNext(_:event:)), for: .touchUpInside)
・Firebaseを利用しているのでJSONで取得したデーターには投稿したユーザーのユーザーID(uid)があるのでそちらも取得まではできている。
このJSONデーターは下記の定数に入っている
let dict = items[(indexPath as NSIndexPath).row] <=ここにFirebaseで取得したデータが入っている
下記はFirebaseのデーター画像。赤丸がユーザーIDでこれも問題なく取得できている。
▼現在できてないところ▼
・ページ遷移するタイミング(segueするタイミング)で各ユーザーのユーザーID(uid)の渡し方がわからない。
UIButtonのtagを利用したら簡単に解決できると思ったけど、tagはInt型なので今回のようなString型のユーザーID(uid)はtagに利用できない。※と思っている。
・addTrgetの#selectorには好きな引数が利用できないのでfirebaseで取得したユーザーID(uid)を渡すことができない?
if let _userID = dict["uid"] as? String { cell.postUserProfileNextButton.tag = Int(_userID)! <= これだとエラーになる! cell.postUserProfileNextButton.addTarget(self, action: #selector(profileViewNext(_:event:)), for: .touchUpInside) <= #selectorでユーザーID(uid)を渡せない。 }
説明がヘタでごめんなさい。
最後に簡単にまとめますと、tableviewのcellの上にUIButtonがあるのでそれをタップすると各ユーザーのプロフィール画面に遷移まではできている。あとはどうやってユーザーIDをわたせばいいでしょうか。
ご教授願います。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。