Я хотел бы знать, есть ли способ использовать NSInputStream
для чтения фрагмента данных с некоторым смещением. Например, есть файл размером 100 МБ, мне нужны фрагменты размером 10 МБ, но мне нужен 5-й фрагмент перед 1-м фрагментом.
Цель состоит в том, чтобы иметь возможность загружать большие файлы на сервер. Бэкэнд ожидает порции данных, которые можно отправить сразу. Идея состоит в том, чтобы использовать NSOperationQueue
и установить maxConcurrentOperationCount
, например, на 5. Для каждой из задач потребуется отдельный фрагмент для отправки. Я знаю про - (NSData *)subdataWithRange:(NSRange)range
- но для этого потребуется, чтобы все NSData
все время было в памяти. Что не будет работать с большими файлами, поэтому я бы предпочел использовать NSInputStream
. Можно ли читать фрагменты не по порядку с помощью NSInputStream
и как или следует использовать другой подход?