목록을 만들고 UITableView에 표시하고 있습니다. 보고있는 동안 항목을 삭제 한 다음 업데이트 된 목록을 저장하여 새로 고침 버튼으로 이전 목록을 새로 고칠 수 있습니다. 나는 단추를 사용하여 현재 목록을 저장 한 다음 새로 고침 단추를 사용하여 데이터를보기로 다시로드합니다. 문제는 버튼을 누르지 않아도 저장 버튼 내의 코드가 항상 실행된다는 것입니다. 나는이 같은 최고의 설명 할 수있다 :UITableView 새로 고치지 않는다
btnSave.TouchUpInside += delegate { _ListCopy = new List<Tasks>();
};
btnReset.TouchUpInside += delegate {
tblTotal.ReloadData();
tblTotal.DataSource = new ListDataSource(_ListCopy,txtTotalCost);
};
tblTotal.DataSource = new ListDataSource (_ListOfTasks,txtTotalCost);
내가 btnReset
_ListCopy
데이터 소스로 다시로드 누를 때 나는이 테이블 뷰가 _ListOfTasks
목록을 보여줍니다 실행합니다. 내가 가지고있는 문제는 btnSave
을 누르지 않아도 _ListCopy
의 값이 할당된다는 것입니다. 이 경우보기가 지워집니다.
public override int RowsInSection (UITableView tableView, int section)
{ return _ListOfTasks.Count; } <-- exception
_ListCopy
의 값이 비어 나에게 의미 : 나는 여기에 테이블 뷰 데이터 소스에 null 참조 예외가 나타날 _listCopy = new List<Tasks>();
줄을 주석으로합니다. 나는 new List
대신 _ListCopy = _ListOfTasks
을 만들 수 있다고 생각했습니다. 그러나 어떤 이유로 코드가 저장 버튼에 관계없이 실행되므로 원하는 목록 값을 저장할 수 없습니다. _ListCopy
에게 알리지 않고 값이 할당되는 이유는 무엇입니까? 나는 그 어느 곳에도 값을 할당하지 않는다. 누군가 일어나는 일을 설명 할 수 있습니까? 대신에 사용할 수있는 다른 솔루션이 있습니까?
당신이 보여준 것과 무슨 일이 일어나고 있는지 말하기는 어렵습니다. 필자가 먼저 꺼내는 점은 데이터 소스를 업데이트하기 전에 ReloadData()를 호출한다는 것입니다. 다른 방법으로 기대합니다. 둘째, TableViews는 항목을 삭제할 수있는 기능을 내장하고 있습니다. 왜 사용하지 않습니까? 더 많은 코드를 게시하면 더 많은 도움을받을 수 있습니다. – Jason
테이블에서 삭제 중입니다. 이것은 추정 애플 리케이션. 회화 사업을 위해. 각 작업은 계산되어 테이블에 저장된 목록에 저장됩니다. 때때로 고객은 작업이 삭제되면 비용을 알고 싶어합니다. 원래 견적을 저장 한 다음 변경을 원하지만 원본 목록을 복원 할 수 있습니다. 먼저 원래 목록의 복사본을 만들려고했는데 리셋 단추를 누르면 복사본이 테이블 데이터 원본으로 전송되지만 쉽게 작업 할 수는 없습니다. – blue