Нет видимого @interface для

Я получал эту ошибку несколько раз, и неясно, что является причиной ошибки в целом. После поиска более часа на переполнение стека и Google у меня все еще нет ответа. Может ли кто-нибудь помочь?

Я видел несколько конкретных ответов, но ничего, что объясняет причину ошибки, только «делай x» или «делай y».

Я еще не включил код, потому что я хочу знать причину, по которой эта ошибка происходит вообще, чтобы я мог исправить свой код в будущем всякий раз, когда я получаю эту ошибку.

Ответы на вопрос(6)

setSomeValue: 3]; вместо [someInstance someValue: 3] (& lt; - неправильно). Это то, что случилось со мной.

что вы работаете на Xcode 4.2 (или меньше), выполняя код, который был написан на Xcode 4.3? В4.3+ Xcode doesn't require you to declare private methods at all, он просто предполагает, что методы, записанные в файле реализации (без объявлений в интерфейсе), являются закрытыми. Но вXcode <= 4.2, this will throw an error и эти методы должны быть по крайней мере объявлены в частном порядке

по которым это может произойти, но обычно говорят, что в строке кода, которую он помечает, он не видит никаких свидетельств того, что селектор, на который вы ссылаетесь, находится в интерфейсе того типа, который, по его мнению, имеет объект.

В этом примере

Нет видимой ошибки интерфейса

Они объявили operandStack с неправильным типом.

В этом

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=3312

У них была опечатка в имени селектора

Мой был вызван тем, что я установил метод как метод класса, а не как метод экземпляра. Очень глупо.

оказалось, что Xcode не переиндексировал файлы после изменения ветки Git. РешениеDelete Derived Data.

Используя версию 10.0 XCodeFile -> Workspace Settings... -> click on ,the little green circle and manually remove all files in DerivedData folder

и вы не установили -ObjC (или -all_load) в других флагах компоновщика

ВАШ ОТВЕТ НА ВОПРОС