• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 调用 NSCash 不起作用

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:15:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我不知道如何使用NSCash,但是我在阅读本主题后尝试过How to use NSCache但它没有用。

我遇到了这个问题原因:'-[NSCache setObject:forKey:cost:]:尝试插入 nil 值(键:indexPath)'

我做错了吗?

.h

@interface ViewController : UIViewController

@property (nonatomic, strong) NSMutableArray *jsonArray;

@property (nonatomic, strong) NSMutableArray *jsonArray1;

@property (nonatomic, retain) NSCache *Cache;

.m

- (void)viewDidLoad
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        NSData *response = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString"http://kalkatawi.com/jsonTest.php"]];
        NSError *parseError = nil;
        jsonArray = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:&parseError];
        jsonArray1 = [[NSMutableArray alloc] init];
        Cache = [[NSCache alloc]init];
        for(int i=0;i<[jsonArray count];i++)
        {
            NSString  * city = [[jsonArray objectAtIndex:i] objectForKey"city"];

            [jsonArray1 addObject:city];
        }

        dispatch_sync(dispatch_get_main_queue(), ^{

            self.title = @"İller";

            [self.mytable1 reloadData];

            jsonArray1 = [Cache objectForKey"indexPath"];

            [Cache setObject:jsonArray1 forKey"indexPath"];

        });
    });
}



Best Answer-推荐答案


您正在初始化 jsonArray1,就在设置它之前。

 jsonArray1 = [Cache objectForKey"indexPath"]; // here jsonArray1 = nil; hence remove this line and run your code again. Yo

 [Cache setObject:jsonArray1 forKey"indexPath"]; // hence you are setting nil value to this key "indexpath"

在那个教程中,他们说像

  • 要设置值,请使用以下行:

[Cache setObject:jsonArray1 forKey"indexPath"];

  • 要检索值,请使用以下行。当您想使用该缓存值时,应使用此行

jsonArray1 = [Cache objectForKey"indexPath"];

在你的情况下,只需评论

jsonArray1 = [Cache objectForKey"indexPath"];

行并再次运行。它不会给出那个错误。

关于ios - 调用 NSCash 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014080/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap