Mam klasę Objective-C
w moim projekcie iOS
, który implementuje kod Objective-C
i C
w tej samej klasie. Zmieniłem rozszerzenie na .mm
i ta część idzie dobrze. Teraz chcę ustawić metodę C
, która wywoła metodę Objective-C
w tej samej klasie. Problem pojawia się, gdy próbuję wywołać self
z metody C
. Oto kod:Jak wywoływać Objective-C "self" z metody C
void SetNotificationListeners(){
[self fireSpeechRecognition];
}
błąd jest:
Use of undeclared identifier 'self'
jak mogę poradzić sobie z tym?
To jest iOS, nie IOS. W każdym razie, dlaczego spodziewasz się, że 'self' będzie dostępny z funkcji, która ** nie ** należy do klasy? To po prostu nie ma sensu. Musisz przekazać samą instancję (obiekt) jako argument. –
Dlaczego zmieniłeś rozszerzenie na '.mm', kiedy używasz Objective-C i C (nie wspominasz o C++)? – trojanfoe