iPhone - разница между NSString и NSMutableString в отношении использования памяти - PullRequest
2 голосов
/ 18 ноября 2011

У меня есть блок текста, который нужно проанализировать.Это такой шаблон, как

"Уважаемое имя, нам нужен регистрационный номер вашего автомобиля, бла-бла" ...

представьте себе, что это длина 1000 символов, с большим количеством ключевых переменных, таких как $ name, $ vehicle и т. д.

Этот текст хранится в #define

Во время выполнения я должен проанализировать этот шаблон и другие20, заменяя ключевые переменные действительными значениями, например, «Дорогой Джон, ....».

Я использовал переменную NSString для хранения исходного текста, а затем эти строки

NSString *start = TEMPLATE1;
start = [start stringByReplacingOccurrencesOfString:NAME withString:realName];
start = [start stringByReplacingOccurrencesOfString:VEHICLE withString:realVehicle];

и так, один и тот же код работает быстро и хорошо, но кто-то предложил использовать NSMutableString для начальной переменной, так как она будет использовать меньше памяти.
Это правильно?
Будет ли этостоит перемен?

1 Ответ

0 голосов
/ 18 ноября 2011

Было бы разумно сделать это:

NSMutableString *text = [NSMutableString stringWithString:TEMPLATE1];
[text replaceOccurrencesOfString:NAME withString:realName options:0 range:NSMakeRange(0, [text length])];
[text replaceOccurrencesOfString:VEHICLE withString:realVehicle options:0 range:NSMakeRange(0, [text length])];

Но если ваш код уже "работает быстро и хорошо", я бы не стал его менять.

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