1
내 응용 프로그램은 Firebase 데이터베이스에서 데이터를 가져 와서 CustomCell을 사용하여 tableView에 저장하고 목표는 셀을 두드리면 레이블에 저장된 문자열을 원한다. 그 세포를 두드렸다.didSelectRowAtIndexPath의 Firebase에서 오는 CustomCell 컨텐츠에 액세스
그래서 지금 며칠 동안이 기능을 사용하고 있으며 제공되는 솔루션은 주로 콘텐츠가 동적으로로드되지 않는 정적 셀에만 적용됩니다. 옵션은 내가 시도 :
- 후, 내용을 저장
indexPath
와 함께 그들을 얻을 수 배열을 사용 : 배열이 적절하게 이어지는, 중포 기지와 동기화되지 않았습니다 때문에 이것은 어려운 것으로 밝혀졌다indexPath
에서 주문이 잘못되었습니다. 라이브러리를 찾지 못했지만 배열을 동기화 상태로 유지하고 있지만 Firebase를 사용할 때 어레이에서 멀리 떨어져 있어야한다는 일반적인 합의가있는 것으로 보입니다. 내 세포를 채울 FirebaseUI을 사용하고 있기 때문에, 나는 또한 어려운 솔루션 것을 만들어 두 가지 방법cellForRowAtIndexPath
또는dequeueReusableCellWithIdentifier
을하지 않아도 : 대표 또는 제안 된 here 같은 클로저를 사용 - .
는 내가 지금까지 가지고 :
func getQuery() -> FIRDatabaseQuery {
let myTopPostsQuery = (ref.child("posts"))
return myTopPostsQuery
}
override func viewDidLoad() {
super.viewDidLoad()
self.ref = FIRDatabase.database().reference()
dataSource = FirebaseTableViewDataSource.init(query: getQuery(),prototypeReuseIdentifier: "Cellident", view: self.tableView)
dataSource?.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
let customCell = cell as! CustomCellTableViewCell
let snap = obj as! FIRDataSnapshot
let childString = snap.value as! [String : AnyObject]
customCell.textLabel.text = String(childString)} // << This is what I need to access in didSelectRowAtIndexPath
}
tableView.dataSource = dataSource
tableView.delegate = self
}
내 질문은 지금 무엇을 갈 수있는 가장 실용적인 방법이 될 것이고, 해결책이 있다면 나는 아직 고려하지 않은?