Подтвердить что ты не робот

Нет видимого @интерфейса для

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

Я видел несколько конкретных ответов, но ничего не говорит о том, почему происходит ошибка, только "делать x" или "делать y".

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

4b9b3361

Ответ 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