Мой конкретный вопрос касается использования URLByAppendingPathComponent, но этот принцип будет применим ко многим другим классам/методам и ситуациям.Наиболее эффективное использование URLByAppendingPathComponent
У меня есть следующий (сокращенный) код:
NSData *packageData = [[NSData alloc] initWithContentsOfURL:[myDirectoryURL URLByAppendingPathComponent:myFileURL]];
...
ret = [self.fileManager removeItemAtURL: [myDirectoryURL URLByAppendingPathComponent:myFileURL]];
Так я использую NSURL: URLByAppendingPathComponent дважды с теми же параметрами. Мой вопрос заключается в том, что он более эффективен, делает это таким образом или создает новый NSURL * и назначает результат вызова URLByAppendingPathComponent, а затем использует это как параметр initWithContentsOfURL и removeItemAtURL. Я предполагаю, что второй метод лучше, но поскольку я совершенно новичок в iOS и ARC, нужно дважды проверить. (Каково время жизни объектов, которые будут созданы этим вызовом? Я использую ARC, и я предполагаю, что их срок службы, следовательно, до конца области функционального блока, в котором они используются.)
Спасибо. С длинным URL-адресом, имеющим две копии, используется лишнее несколько сотен байтов, поэтому это то, о чем я забочусь о том, что после кодирования для устройств с гораздо меньшим объемом памяти, чем iOS. – Gruntcakes
Память определенно вызывает беспокойство в iOS, но вначале нужно писать четкий код, который должен быть вашим приоритетом. Затем вы можете лучше понять, как исправить это, если проблема с 100 байтами. (Я готов поспорить, что это не будет ...) –