API 호출로 채워진 배열이 있습니다. pointsButton
에서스크롤 할 때 UITableView에 단추 상태 유지
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellReuseIdendifier, forIndexPath: indexPath) as! MBTableViewCell
cell.cellText = morningArray[indexPath.row].name
cell.cellImage = (DosageTypes(rawValue: morningArray[indexPath.row].measurement)?.image)!
cell.cellDossage = "\(morningArray[indexPath.row].dosage) \(DosageTypes(rawValue: morningArray[indexPath.row].measurement)!.description)"
cell.pointsButton.medication = morningArray[indexPath.row]
return cell
}
를 I 배열의 약물 객체 통과 셀 : I과 같은 테이블 뷰를 채우는이 배열을 사용한다. pointsButton은 객체의 상태에 따라 상태를 변경합니다. pointButton은 자체 상태를 변경할 수도 있습니다. 스타일은 상태에 따라 바뀝니다. 여기서 포인트 버튼의 코드이다
I 스크롤private var _medication :MBMedicationTaken?
var medication : MBMedicationTaken? {
set{
self._medication = newValue
if self._medication!.taken == false{
setNotTaken()
} else {
setTaken()
}
}
get{
return self._medication
}
}
, 포인트 버튼 변경 값이 연속적으로 배열 이전의 값으로 전송하기 때문이다. 스크롤 할 때 값이 변하지 않도록하려면 어떻게해야합니까? 트위터 즐겨 찾기 버튼과 비슷하다고 생각하십시오.
이 작동하지만이 서로 다른 데이터 소스에있는 것은 정직 해킹의 일종 같은 느낌 것입니다. 어떤 의견? – spogebob92
더 많은 코드를 입력하십시오.) – derdida
@derdida가 맞습니다. 촬영 한 상태를 어딘가에 추적해야합니다. 셀은보기에 불과합니다. 자체 정보는 저장하지 않습니다. 기존 모델 개체를 확장하여이 정보를 저장하거나 보조 데이터 구조를 사용해야합니다. 그렇다면 어레이가 아닌 NSMutableIndexSet을 제안합니다. – Paulw11