Системный метод переопределения target-c
Я нахожу системный метод C++ вызывает сбой в ios, и я пытаюсь заклинать метод. Однако я не знаю, как это сделать, потому что это метод класса C++. Кто-нибудь знает, могу ли я это сделать?
1 ответ
Метод Swizzling является уникальным для target-c (и даже там нужно использовать его осторожно), и не применим к C++.
Я предполагаю, что у вас нет доступа к исходному коду класса C++. Тогда единственный способ "заменить" реализацию метода в конкретном классе C++- это извлечь подкласс, переопределить метод, а затем убедиться, что подкласс используется вместо другого класса. Маловероятно, что у вас есть шанс; метод не является виртуальным, класс, подлежащий замене, используется неполиморфным образом, класс, который должен быть заменен, уже имеет несколько подклассов, каждый из этих пунктов будет препятствовать успеху.
Удачи, хотя!