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 に答える