Это плохо для доступа к одному файлу с несколькими NSFileHandle? - Цель-С - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть функция, которая вызывается при получении данных от сетевого подключения. Я добавляю эти данные в файл внутри сериализованной очереди отправки. У меня был объект NSFileHandle (здесь он называется «файл»), область которого такова, что он указывает на другой файл перед выполнением отправки, а также файл был закрыт в другом месте. Таким образом, я создал новый NSFileHandle (названный здесь "_file") для своего закрытия отправки следующим образом -

if (autoDownloadFileWrite == nil) {
        autoDownloadFileWrite = dispatch_queue_create("com.myqueue.autodownfilewrite", DISPATCH_QUEUE_SERIAL);
}

char Path[MAXPATHLEN];
//getting file path
if (file && fcntl([file fileDescriptor], F_GETPATH, Path) != -1)
        NSLog(@"%@", [NSString stringWithUTF8String:Path]);

//creating new file handle from file path
NSFileHandle* _file = [NSFileHandle fileHandleForUpdatingAtPath:[NSString stringWithUTF8String:Path]];

//writing into file in dispatch
dispatch_async(autoDownloadFileWrite, ^{
    if (_file) {
        [_file seekToEndOfFile];
    }
        [_file writeData:data];
});

Хорошо ли создавать несколько NSFileHandle для одного файла? Также я не закрываю файл, это плохо?

Если мой вопрос относится к codereview.stack ... просто прокомментируйте, я добавлю его туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...