Ios 实现nscache时出错

Ios 实现nscache时出错,ios,nscache,Ios,Nscache,我有这个错误 2013-08-20 17:06:57.500 AceXMLSample[13602:11303] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSCache 0x753a5d0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key h

我有这个错误

    2013-08-20 17:06:57.500 AceXMLSample[13602:11303] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSCache 0x753a5d0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key http://skylitecommunication.ipower.com/--irabwha-opc/image/data/1287455832_monotone_fork_spoon_eat_launch_restaurant_dinner.png.'
*** First throw call stack:
(0x1c95012 0x10d2e7e 0x1d1dfb1 0xb7ed1d 0xaeb00b 0xaeafbd 0x2c22 0xd18fb 0xd19cf 0xba1bb 0xcab4b 0x672dd 0x10e66b0 0x2291fc0 0x228633c 0x2291eaf 0x1062bd 0x4eb56 0x4d66f 0x4d589 0x4c7e4 0x4c61e 0x4d3d9 0x502d2 0xfa99c 0x47574 0x4776f 0x47905 0x50917 0x2465 0x14157 0x14747 0x1594b 0x26cb5 0x27beb 0x19698 0x1bf0df9 0x1bf0ad0 0x1c0abf5 0x1c0a962 0x1c3bbb6 0x1c3af44 0x1c3ae1b 0x1517a 0x16ffc 0x219d 0x20c5)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

您尚未给出全部错误,但我想您需要替换:

NSData *imageData = [myCache valueForKey:imageURL];


您可能需要添加一些保护,例如:

if (imageURL != nil) {
    NSData *dataToCache = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]];

    if (dataToCache != nil) {
        [myCache setObject:dataToCache forKey:imageURL];
        [cell.imageShow setImage:[UIImage imageWithData:dataToCache]];
    }
}

您尚未给出全部错误,但我想您需要替换:

NSData *imageData = [myCache valueForKey:imageURL];


您可能需要添加一些保护,例如:

if (imageURL != nil) {
    NSData *dataToCache = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]];

    if (dataToCache != nil) {
        [myCache setObject:dataToCache forKey:imageURL];
        [cell.imageShow setImage:[UIImage imageWithData:dataToCache]];
    }
}

请更正以添加完整异常消息。添加了所有异常请更正以添加完整异常消息。添加了所有异常消息,但我现在有此错误[NSCache setObject:forKey:cost::]:尝试插入零值(键:Put%20gravestones%20或%20“katba”%20on%20graves%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20graves%20on%20on%20by%20iRabwah%20service%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20on%20in%20in%20in%20by%20by%20iRabwah%20by%20by%?你想通过什么考试?你有时会给它
nil
。我不确定你评论结尾的内容是什么……我从来没有用过setObject:forKey:cost,这也是我现在想要弄清楚的,因为我从来没有声明过,甚至没有调用过任何东西。所以,当你调用
[myCache setObject:dataToCache-forKey:imageURL]
,看起来像是
dataToCache
是nil。那么这是否意味着im设置到缓存中的数据是nil,im从imageURL获取并向我返回错误?有什么建议吗?完成了,但我现在有这个错误[NSCache setObject:forKey:cost:]:尝试插入零值(键:放置%20graves%20or%20“katba”%20on%20the%20graves%20of%20your%20loved%20one%20send%20婚礼%20gifts%20home%20appliances%20and%20sell%20property%20search%20gifts%20in%20rabwah%20by%20iRabwah%20services)'您在哪里调用
setObject:forKey:cost:
?你想通过什么考试?你有时会给它
nil
。我不确定你评论结尾的内容是什么……我从来没有用过setObject:forKey:cost,这也是我现在想要弄清楚的,因为我从来没有声明过,甚至没有调用过任何东西。所以,当你调用
[myCache setObject:dataToCache-forKey:imageURL]
,看起来像是
dataToCache
是nil。那么这是否意味着im设置到缓存中的数据是nil,im从imageURL获取并向我返回错误?有什么建议吗?