항목을 클릭하면 사용자가 저장을 클릭하면 데이터를 저장하기위한 웹 서비스 호출이 이루어지는 상세보기 컨트롤러가 열립니다. . 내가 가진 문제는 사용자가 다시 클릭하여 목록으로 돌아갈 때 데이터를 저장 한 후 목록 항목 (예 : 이름이 업데이트 된 경우)이 업데이트되지 않은 경우입니다. 따라서 사용자가 이름을 변경하면 이전 목록을 업데이트해야하므로 다른 webservice를 호출하여 다시 채우지 않아도 값을 업데이트하고 싶습니다.Monotouch Dialog - 반환 할 때 행 정보를 수정하지 않고 행 목록을 수정 한 후 데이터 목록을 다시로드하십시오.
보기가 나타나면 this.ReloadData()
을 호출하려고하지만 결코 목록 이름을 업데이트하는 것처럼 보이지 않습니다. 개체 목록 인 workouts
을 확인했는데 세부 컨트롤러가 수정했지만 리로드 데이터는 아무 것도하지 않는 것 같습니다.
다른 컨트롤러가 개체 목록을 수정 한 경우 데이터를 새로 고치는 방법은 무엇입니까?
AccountDetailsSection = new Section ("Details"){
new StringElement ("Code:", _Account.Code),
new StringElement ("Name:", _Account.Name) };
당신이 원하는 결과를 얻을 수 있지만 요소는 객체의 속성에 다시 포인터를 잃는다 :
public override void ViewWillAppear (bool animated)
{
InvokeOnMainThread (delegate {
this.ReloadData();
}); // call reload on main thread
base.ViewWillAppear (animated);
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
workouts = manager.GetWorkouts(Helpers.User.Auth);
var sections = new Section();
var root = new RootElement("Workouts"){sections};
foreach (var wo in workouts) {
var tempwo = wo;
var wodetail = new RootElement(wo.Name, delegate {
var W = new WorkoutViewModel(tempwo);
var p = new WorkoutDetailController(W, tempwo);
return p;
});
sections.Add (wodetail);
}
Root = root;
}
감사합니다. 데이터 세트를 다시로드하면 해결할 수있는 솔루션이 있기를 기대했지만 시도해 보겠습니다. – lucuma