ObjectForKey始终返回null xamarin.ios

时间:2018-04-30 09:14:15

标签: xamarin.ios

我已经尝试在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);
}

1 个答案:

答案 0 :(得分:0)

方法public virtual void SetObjectforKey(NSObject obj, NSObject key);有两个参数值和键,你只是在顺序中犯了一个错误。第二个参数是密钥。

您应该修改自己的方法,如:

cacheProvider.SetObjectforKey(Value, key);

通过这种方式,您可以使用正确的密钥字符串获取此值。此外,请注意Apple Documentation NSCache

  

您通常使用NSCache对象临时存储对象   创建成本高的瞬态数据。但是,对象对应用程序并不重要,如果内存紧张则可以丢弃。

如果您想要保留数据,可以尝试NSUserDefaults