Я пытаюсь написать код ActiveRecord-esque в Obj-C и столкнулся со следующей ситуацией: я пытаюсь создать переменную статического класса в базовом классе, которая получает имя унаследованного класса и преобразуется в имя таблицы с множественным числом и некоторыми другими операциями форматирования. Я знаю, что для экземпляра класса можно сделать что-то вроде следующего:
tableName = [[[self class] description] stringToTableName];
Однако для этого необходимо использовать self
. Можно ли что-то сделать по следующим направлениям?
tableName = [[[inheriting_class class] description] stringToTableName];
Я бы предпочел не пересчитывать имя таблицы для каждого экземпляра унаследованных объектов класса. Я также предпочел бы, чтобы этот фрагмент кода автоматически генерировал имя таблицы с помощью метапрограммирования в стиле ruby.