Xamarin.ios 在monotouch中使用默认值

Xamarin.ios 在monotouch中使用默认值,xamarin.ios,Xamarin.ios,我对MonoTouch印象深刻。Miguel的对话。受他简单方法的启发,我认为拥有一个基于反射的NSUserDefaults类会非常好,它可以无缝地工作,将某些属性标记为“用户默认值中的持久性”,而忽略其他属性。大概是这样的: public class SomeController { [PersistInUserSettings] public string LastPostUserRead { get; set; } } 我不喜欢La

我对MonoTouch印象深刻。Miguel的对话。受他简单方法的启发,我认为拥有一个基于反射的NSUserDefaults类会非常好,它可以无缝地工作,将某些属性标记为“用户默认值中的持久性”,而忽略其他属性。大概是这样的:

    public class SomeController
    {
        [PersistInUserSettings]
        public string LastPostUserRead { get; set; }
    }
我不喜欢LastPostUserRead类型为“UserSetting”,我喜欢它是一个普通属性,以便以后我可以分配给它,如:

LastPostUserRead = "Post 1";
而不是像:

LastPostUserRead.SetValue("Post 1");

关于如何在monotouch中实现它(无反射.Emit)有什么想法吗?

您不需要反射.Emit来动态设置值。这是纯系统反射(没有“发射”部分)


MonoTouch.Dialog实际上使用FieldInfo中的SetValue和GetValue动态读取和存储值(属性也可以这样做)。

afaics绑定是一种方式(在Dialog中),如果我在对话框显示时设置绑定字段的值,绑定到该字段的UI元素将不会更新。我遗漏了什么吗?是的,阿里-您需要使用bindingContext.Fetch()。例如,我不确定维基是否提到你必须这样做