2015-01-23 3 views
0
%hook FirstClass 
[self method2]; 
%orig 
%end 

Но method2 доступен только в другом классеВызов другой метод класса из моего крючковатым класса в Теос

Как я могу назвать это в данном случае?

Что я знаю, до сих пор:

  • Использование NotificationCenter уведомить второй класс, чтобы загрузить method2
  • Несколько связанных с использованием %c, но не знаком с полным объяснением

Но это путь сложный, Есть ли альтернативный способ сделать это

- Обновление

Я попытался% C, но я получаю эту ошибку

Tweak.xm:86:48: error: class method '+class' not found (return type 
    defaults to 'id') [-Werror,-Wobjc-method-access] 

              ^~~~~~~~~~~~~~~~~~ 

Прикладное решение здесь>THEOS: compiling error when calling method in other class (logos)

Но не похоже на работу

+0

Hi. Не могли бы вы объяснить немного больше? Какие классы вы собираетесь использовать точно? Напишите код, о котором вы говорите в своем обновлении, пожалуйста. – Hamed

ответ

0

Для вызова метода другого класса он будет иметь быть методом класса (плюс знак). Затем вы можете сделать [%c(ClassName) method:]; Если это не метод класса (знак минус), вам придется иметь экземпляр этого класса. Иногда вы можете найти общий экземпляр класса, а затем использовать для этого методы. [[%c(ClassName) sharedInstance].propertyWhichIsOfAClassYouActuallyWant method:]