Использование awk:
$ awk -F\| ' # set field separator
NR==FNR { # process first file
split([110],a) # split on field separator and hash to a
next
}
{ # second file
for(i=1;i<=NF;i++) # iterate all fields and output refering titles from a
printf "%s%s: %s%s\n",(i==1?"{":""),a[i],$i,(i==NF?"}":"")
}' file2 file2
Вывод:
{CIN: 1234
Template: QWERTY
Date: 2019-03-18}
{CIN: 5678
Template: ASDF
Date: 2019-03-18}
{CIN: 9012
Template: ZXCVB
Date: }
Поскольку Вы не сохранили значение. Рассмотрите правила в Руководстве по программированию управления памятью для наблюдения, когда необходимо будет сохранить что-то.
Конечно, как cdespinosa примечания, Вы, вероятно, не должны кэшировать этот путь во-первых. Это - вероятно, не большая производительность уничтожитель. Представьте сначала, затем оптимизируйте горячие точки.
Я полагаю, что Вы имеете в виду NSPathStore2, не NSStorePath.
NSPathStore2 находится во внутреннем частном подклассе NSString, который используется среди подсистем, где строка, как известно, является путем файловой системы. Это функционально эквивалентно NSString всеми способами, о которых Вы заботились бы.
Не ясно из Вашего сообщения, есть ли у Вас какие-либо проблемы кроме удивления, что тот класс, и существует ли любая оптимизация, которая будет получена путем кэширования его. Ответ, вероятно, нет: из всех вещей, которые используют циклы ЦП при доступе к базе данных, доступ к его пути файловой системы, вероятно, будет в последний раз в списке.