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