Используемый вами подход, который загружает ячейку таблицы из файла пера, требует - чтобы иметь правильную поддержку многоразовых ячеек - назначить в поле пера «Идентификатор» тот же строковый идентификатор, который вы используете в коде , То есть, если ваш идентификатор ячейки, используемый для блокировки кэша, - это «MyCellId», тогда поле «Идентификатор» UITableCellView в файле пера должно содержать тот же идентификатор «MyCellId».
Но с подходом, которому вы придерживаетесь, это невозможно, так как идентификатор ячейки генерируется динамически, и тогда вы, конечно, не можете динамически назначить идентификатор ячейки загруженной nib-ячейке.
Теоретически вы должны создать специальный файл пера для каждого из генерируемых вами идентификаторов MyCellId-% d.
Поскольку я предполагаю, что у вас определена только одна ячейка таблицы, избавьтесь от генерации динамического идентификатора и используйте статическое имя, а затем присвойте это имя полю «Идентификатор» в файле пера ячейки.