Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ObjectForKey始终返回null xamarin.ios_Xamarin.ios - Fatal编程技术网

ObjectForKey始终返回null xamarin.ios

ObjectForKey始终返回null xamarin.ios,xamarin.ios,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(

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

方法
公共虚拟void SetObjectforKey(nsobjectobj,nsobjectkey)
有两个参数value和key,您只是在顺序上犯了一个错误。第二个参数是关键

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

cacheProvider.SetObjectforKey(Value, key);
通过这种方式,您可以使用正确的键字符串获取此值。此外,请注意:

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


如果要持久化数据,可以尝试。

问题解决了吗?我尝试了另一种使用NSUserDefaults从缓存中保存和获取值数据的方法,我使用了它的两种方法set&get,并且工作正常。感谢您的关注。您的设备为我带来了正确的输出再次感谢。很高兴它帮助了您。您能标记并关闭此帖子以帮助其他社区了解NSCache吗