專家,保存經過地位的UITableViewXamarin.iOS - NSUserDefaults的使用
請參見下面的,因爲我有一個表,要保存在NSUserDefaults的Xamarin.iOS內的表的檢查狀態。你將如何去保存檢查狀態NSUserDefaults(data.Selected = true)?理想情況下,我想要的是在每個檢查過的單元格後面,我想將該值保存到NSUserDefaults中。然後,如果用戶終止應用程序,那麼他們在終止應用程序之前選擇的值將被加載。任何幫助將不勝感激!
我有以下TableSource類:
namespace Project
{
public class TableSource : UITableViewSource
{
public readonly static string cellIdentifier = "cellID";
readonly Model _model;
public TableSource(Model source)
{
_model = source;
}
public override nint NumberOfSections(UITableView tableView)
{
return 1;
}
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var value = _model[indexPath.Row];
var cell = tableView.DequeueReusableCell (cellIdentifier) ?? new UITableViewCell (UITableViewCellStyle.Default, cellIdentifier) ;
cell.TextLabel.Text = value.Name;
cell.TextLabel.Font = UIFont.FromName ("Arial", 15f);
cell.Accessory = value.Selected ? UITableViewCellAccessory.Checkmark : UITableViewCellAccessory.None;
return cell;
}
public override nint RowsInSection(UITableView tableview, nint section)
{
return _model.Count;
}
public override void RowSelected(UITableView tableView,NSIndexPath indexPath)
{
var cell = tableView.CellAt(indexPath);
var data = _model[indexPath.Row];
if (data.Selected)
data.Selected = false;
cell.Accessory = UITableViewCellAccessory.None;
Toast.MakeText(data.Name.ToString() + " Not Checked", Toast.LENGTH_LONG).SetGravity(ToastGravity.Center).Show();
}
else
{
data.Selected = true;
cell.Accessory = UITableViewCellAccessory.Checkmark;
Toast.MakeText(data.Name.ToString() + " Checked", Toast.LENGTH_LONG).SetGravity(ToastGravity.Center).Show()
}
cell.Selected = false;
tableView.ReloadData();
}
}
}
問題是? – jbm
你說明你想做什麼,並且發佈了一些代碼,但是問題是什麼?什麼是實際問題?請參閱[問]和[mcve] –
對不起,我編輯了我的回覆以上陳述這個問題。 – pkozlowski