1

我将 NSString 保存到 NSCache,但在 NSLog 处给了我(null)。

在 ViewDidLoad 初始化后,我将这段代码保存在 NSCache

cache=[[NSCache alloc]init];

然后我有一个被调用并保存对象的函数

 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:1];
 NSString *res = [cache objectForKey:indexPath];
 if (!res) {                      
     res=@"1";
     [cache setObject:res forKey:indexPath];
 }

然后我像这样检查:

NSString *res = [cache objectForKey:indexPath];
if (!res) {    
    res=@"1";
    [cache setObject:res forKey:indexPath];
}

很遗憾...

NSLog("%@",res); //always it gives me (null)

以前有人遇到过这个问题吗?任何帮助表示赞赏。

4

1 回答 1

0

保存对象后检查如下:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:1];
NSLog(@"%@",[cache objectForKey:indexPath]);
于 2012-09-25T13:37:25.823 回答