Лучший способ хранения файла в памяти, доступный через URL на iOS? - PullRequest
0 голосов
/ 04 мая 2011

Я хочу сохранить файл в памяти и передать его в библиотеку, которая работает с URL (например, NSURL).Было бы неплохо, если бы я мог создать какой-нибудь отображенный в памяти файл, к которому iOS могла бы получить доступ, используя file: // или аналогичный.

Мой резервный метод - создать сокет локального сервера, который обслуживает файл из памяти, но яЯ хотел бы найти более аккуратный путь, если это возможно.

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

В итоге я использовал NSURLProtocol для создания новой URL-схемы, которая обслуживает файлы из памяти.

0 голосов
/ 04 мая 2011

Я использую это для чтения файла из Интернета и кэша в памяти:

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection
                  willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
    NSCachedURLResponse *memOnlyCachedResponse =
        [[NSCachedURLResponse alloc] initWithResponse:cachedResponse.response
                                                 data:cachedResponse.data
                                             userInfo:cachedResponse.userInfo
                                        storagePolicy:NSURLCacheStorageAllowedInMemoryOnly];
    return [memOnlyCachedResponse autorelease];
}

Это соединение : willCacheResponse: метод из NSURLConnection .Мои NSURL указывают на сеть, но должны работать, если вы указываете на файл в вашем комплекте.Я получил этот код от https://github.com/rs/SDURLCache

...