我已经尝试在Xamarin.iOS设置id中使用NSCache将字符串设置到缓存中而没有问题,但是当尝试获取此缓存值时总是返回null,任何人都可以帮忙吗?
/*set*/
public static void AddCachedString(NSString key, NSString Value)
{
cacheProvider.SetObjectforKey(key, Value);
}
/*get*/
public static NSString GetCachedString(NSString key)
{
return (NSString)cacheProvider.ObjectForKey(key);
}
答案 0 :(得分:0)
方法public virtual void SetObjectforKey(NSObject obj, NSObject key);
有两个参数值和键,你只是在顺序中犯了一个错误。第二个参数是密钥。
您应该修改自己的方法,如:
cacheProvider.SetObjectforKey(Value, key);
通过这种方式,您可以使用正确的密钥字符串获取此值。此外,请注意Apple Documentation NSCache:
您通常使用NSCache对象临时存储对象 创建成本高的瞬态数据。但是,对象对应用程序并不重要,如果内存紧张则可以丢弃。
如果您想要保留数据,可以尝试NSUserDefaults。