Нет видимого @интерфейса для
Я неоднократно получал эту ошибку, и неясно, что вызывает ошибку вообще. После поиска более часа при переполнении стека и google у меня все еще нет ответа. Может ли кто-нибудь помочь?
Я видел несколько конкретных ответов, но ничего не говорит о том, почему происходит ошибка, только "делать x" или "делать y".
Я еще не включил код, потому что хочу знать причину, по которой эта ошибка происходит вообще, поэтому я могу исправить свой код в будущем всякий раз, когда получаю эту ошибку.
Ответы
Ответ 1
Есть много причин, по которым это может случиться, но, как правило, он говорит, что в строке кода это флаги, он не видит никаких доказательств того, что селектор, на который вы ссылаетесь, находится в интерфейсе типа, который, по его мнению, имеет объект.
В этом примере
Нет видимой ошибки интерфейса
Они объявили операндStack с неправильным типом.
В этом
http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=3312
У них была опечатка в имени селектора
Ответ 2
Если у вас есть Xcode 4.2 (или меньше), запущенный код, написанный на Xcode 4.3? В 4.3+ Xcode не требует, чтобы вы объявляли частные методы вообще, он просто предполагает, что методы, написанные в файле реализации (без деклараций в интерфейсе), являются частными. Но в Xcode <= 4.2 это вызовет ошибку, и эти методы должны быть как минимум объявлены конфиденциально
Ответ 3
У меня была эта проблема; мой был вызван тем, что я устанавливал метод как метод класса, а не метод экземпляра. Очень глупо.
Ответ 4
Другая причина может быть при использовании категорий в библиотеках, и вы не установили -ObjC (или -all_load) в другие флаги компоновщика
Ответ 5
Другая распространенная ошибка заключается в том, чтобы забыть написать [someInstance setSomeValue: 3]; вместо [someInstance someValue: 3] (< - wrong). Что со мной случилось.
Ответ 6
Когда я столкнулся с этой проблемой, оказалось, что Xcode не переиндексировал файлы после изменения ветки Git. Решение - Delete Derived Data
.
Используя File → Workspace Settings...(or Project Settings...) → click on the little green circle and manually remove all files in DerivedData folder
Xcode версии 10.0 File → Workspace Settings...(or Project Settings...) → click on the little green circle and manually remove all files in DerivedData folder
![enter image description here]()