【问题标题】:ObjectForKey always returns null xamarin.iosObjectForKey 始终返回 null xamarin.ios
【发布时间】:2018-10-10 08:45:43
【问题描述】:

我曾尝试在 Xamarin.iOS 中使用 NSCache 将字符串设置到缓存中,设置 id 没有问题,但是当尝试获取此缓存值时总是返回 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);
}

【问题讨论】:

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

标签: xamarin.ios


【解决方案1】:

方法public virtual void SetObjectforKey(NSObject obj, NSObject key);有两个参数value和key,你只是顺序弄错了。第二个参数是key。

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

cacheProvider.SetObjectforKey(Value, key);

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

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

如果你想持久化数据,可以试试NSUserDefaults

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 2015-08-15
    • 2012-03-18
    • 2016-11-04
    • 2016-07-28
    • 2010-11-08
    • 2017-11-26
    相关资源
    最近更新 更多