Note that there are some explanatory texts on larger screens.

plurals
  1. PONSURLCache Memory Size is zero
    text
    copied!<p>I am having trouble caching NSURLConnection responses using a synchronous call. I initialize the cache in one class and then use it in another. Notice how the cache memory capacity gets initialized to 100KB but then is magically reset to zero later. </p> <pre><code>- (id)init { if (self = [super init]) { // Creates a custom URL cache that uses both memory and disk. NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:kMemoryCacheSize * 1000000 diskCapacity:kDiskCacheSize * 1000000 diskPath:diskPath]; [NSURLCache setSharedURLCache:sharedCache]; NSLog(@"Cache memory capacity = %d bytes", [[NSURLCache sharedURLCache] memoryCapacity]); NSLog(@"Cache disk capacity = %d bytes", [[NSURLCache sharedURLCache] diskCapacity]); //[sharedCache release]; } return self; } // NSLOG OUTPUT: // [6842:20b] Cache memory capacity = 100000 bytes // [6842:20b] Cache disk capacity = 20000000 bytes </code></pre> <p>In another class...</p> <pre><code>NSLog(@"Cache memory capacity = %d bytes", [[NSURLCache sharedURLCache] memoryCapacity]); NSLog(@"Cache disk capacity = %d bytes", [[NSURLCache sharedURLCache] diskCapacity]); NSLog(@"Cache Memory Usage = %d bytes", [[NSURLCache sharedURLCache] currentMemoryUsage]); NSLog(@"Cache Disc Usage = %d bytes", [[NSURLCache sharedURLCache] currentDiskUsage]); NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:objectURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:20]; data = [NSURLConnection sendSynchronousRequest:request returningResponse:&amp;response error:&amp;error]; NSLog(@"Image Request finished. Error = %@",[error localizedDescription]); NSLog(@"Cache size after = %d bytes", [[NSURLCache sharedURLCache] currentMemoryUsage]); // NSLog Output: // Cache memory capacity = 0 bytes // Cache Disc Usage = 0 bytes // Cache Memory Usage = 0 bytes // Cache disk capacity = 20000000 bytes // Image Request finished. Error = (null) // Cache size after = 0 bytes </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload