У меня есть сценарий в приложении IOS Там, где манипулирование очень большим экземпляром NSString (HTTP-ответ, вверх 11 МБ) приводит к нескольким крупным посредникам, находящимся в памяти сразу, поскольку методы SDK, которые я звоню, возвращают новые экземпляры AutoReleant. Какой лучший подход к употреблению сюда?
Например, предполагая, что , крупнейшая
, является AutoReleded NSString
экземпляра :
NSArray *partsOfLargeString = [largeString componentsSeparatedByString:separator];
for (NSString *part in partsOfLargeString) {
NSString *trimmedPart = [part stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSData *data = [trimmedPart dataUsingEncoding:NSUTF8StringEncoding];
}
было бы здорово, если бы были неавтоматические эквиваленты К КомплектующиеПоделительные PPORDSPAREDBYSTRING
или stringbytringCharacterShateSet
, но я не хочу реализовать их сам.
Для моих знаний нет никакого способа «заставить» выпускать объект, который уже был добавлен в авторелез. Я знаю, что я могу создавать и использовать свой собственный авторелез здесь, но я хотел бы быть чрезвычайно гранулированным и имея авторелезные бассейны, определенно не очень масштабируемый подход.
Любые предложения очень ценятся.