ストーリーボード未使用で開発しています。
実現したいこと
UITableViewControllerのcellForRowAt内のcell.textLabel?.textの値として、
コード①のdictionary内のvalueを持たせ、セルに表示させたい。
分からない点
下記コード①をFirestoreのSetDataで保存しています。
ここのdictionary内のuserNameのvalueを、
UITableViewControllerのセルに表示したいです。
コード① Prof1です import Foundation import Firebase protocol DocumentSerializable2 { init?(dictionary:[String:Any]) } struct Prof1 { var userName :Any var dictionary:[String:Any] { return [ "userName" : (userName as AnyObject).text ?? "" ]} } extension Prof1 : DocumentSerializable2 { init?(dictionary: [String:Any]) { guard let userName = dictionary["userName"] as? Any else {return nil} self.init(userName: userName) } }
下記コード②でhoge.contentとhoge.timeStampはセルに表示できています。
この様に、コード①のuserNameも セルに表示したいのですが、
値のイニシャライズが分かりません。(let profff = Prof1()の書き方自体間違ってるかもしれませんが...)
コード② UITableViewControllerです //省略してます override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) let hoge = hogeArray[hogeArray.count - indexPath.row - 1] //⚠️ここで値を渡したいですのですが、イニシャライズが分かりません。 let profff = Prof1() cell.textLabel?.text = "(profff.userName) (hoge.content)" cell.detailTextLabel?.text = "(hoge.timeStamp)" return cell } //省略してます
数日調べていますが、分からない為質問致します。
よろしくお願いします。
//追記
reloadDataもできています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/07 16:41 編集
2018/07/07 17:31
退会済みユーザー
2018/07/08 04:53
2018/07/08 05:30
退会済みユーザー
2018/07/08 13:46