Experten verwenden,Xamarin.iOS - Speichert Status in UITableView Geprüft NSUserDefaults
Bitte siehe unten, wie ich einen Tisch und will den geprüfte Status der Tabelle innerhalb NSUserDefaults in Xamarin.iOS speichern. Wie würden Sie den überprüften Status in NSUserDefaults speichern (data.Selected = true)? Idealerweise möchte ich nach jeder überprüften Zelle diesen Wert in NSUserDefaults speichern. Wenn die Benutzer die App beenden, werden die Werte geladen, die sie vor dem Beenden der App ausgewählt haben. Jede Hilfe würde sehr geschätzt werden!
Ich habe folgenden Table Klasse:
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();
}
}
}
Und die Frage ist? – jbm
Sie geben an, was Sie tun möchten, und Sie haben einen Code geschrieben, aber was ist das Problem? Was ist die eigentliche Frage? Bitte sehen Sie [ask] und [mcve] –
Tut mir leid, ich habe meine Antwort oben bearbeitet, um die Frage zu stellen. – pkozlowski