Системный метод переопределения target-c

Я нахожу системный метод C++ вызывает сбой в ios, и я пытаюсь заклинать метод. Однако я не знаю, как это сделать, потому что это метод класса C++. Кто-нибудь знает, могу ли я это сделать?

1 ответ

Решение

Метод Swizzling является уникальным для target-c (и даже там нужно использовать его осторожно), и не применим к C++.

Я предполагаю, что у вас нет доступа к исходному коду класса C++. Тогда единственный способ "заменить" реализацию метода в конкретном классе C++- это извлечь подкласс, переопределить метод, а затем убедиться, что подкласс используется вместо другого класса. Маловероятно, что у вас есть шанс; метод не является виртуальным, класс, подлежащий замене, используется неполиморфным образом, класс, который должен быть заменен, уже имеет несколько подклассов, каждый из этих пунктов будет препятствовать успеху.

Удачи, хотя!

Другие вопросы по тегам