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

Я нашел несколько изящных решений на MSDN

System.Console.Write('\uXXXX') //XXXX is hex Unicode for character

Эта простая программа записывает ℃ прямо на экран.

using System;

public class Test
{
    public static void Main()
    {
        Console.Write('\u2103'); //℃ character code
    }
}
29
задан Shawn Sharp 30 April 2012 в 16:43
поделиться

5 ответов

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

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

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

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

В этом

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

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

11
ответ дан Community 30 April 2012 в 16:43
поделиться

Есть ли шанс, что вы работаете в Xcode 4.2 (или меньше), выполняя код, который был написан в Xcode 4.3? В 4.3+ Xcode вообще не требует, чтобы вы объявляли частные методы , он просто предполагает, что методы, записанные в файле реализации (без объявлений в интерфейсе), являются частными. Но в Xcode < = 4.2 это вызовет ошибку , и эти методы должны быть объявлены как минимум конфиденциально

2
ответ дан JoeCortopassi 30 April 2012 в 16:43
поделиться

Другая причина может быть при использовании категорий в библиотеках, и вы не установили -ObjC (или -all_load) в других флагах компоновщика

2
ответ дан Peter 30 April 2012 в 16:43
поделиться

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

Используя версию 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

0
ответ дан yoAlex5 30 April 2012 в 16:43
поделиться
  • 1
    @velop Очевидно существует ошибка в одном из многие библиотеки, которыми Вы пользуетесь, который не имеет никакого отношения, как PHP работает. Необходимо было бы решить проблему в базовом Классе/Методе/и т.д. – Robert Schwindaman 22 March 2017 в 08:56
  • 2
    @velop Очевидно существует ошибка в одном из многие библиотеки, которыми Вы пользуетесь, который не имеет никакого отношения, как PHP работает. Необходимо было бы решить проблему в базовом Классе/Методе/и т.д. – Robert Schwindaman 22 March 2017 в 08:56
  • 3
    @velop Очевидно существует ошибка в одном из многие библиотеки, которыми Вы пользуетесь, который не имеет никакого отношения, как PHP работает. Необходимо было бы решить проблему в базовом Классе/Методе/и т.д. – Robert Schwindaman 22 March 2017 в 08:56
  • 4
    @velop Очевидно существует ошибка в одном из многие библиотеки, которыми Вы пользуетесь, который не имеет никакого отношения, как PHP работает. Необходимо было бы решить проблему в базовом Классе/Методе/и т.д. – Robert Schwindaman 22 March 2017 в 08:56
  • 5
    @velop Очевидно существует ошибка в одном из многие библиотеки, которыми Вы пользуетесь, который не имеет никакого отношения, как PHP работает. Необходимо было бы решить проблему в базовом Классе/Методе/и т.д. – Robert Schwindaman 22 March 2017 в 08:56

Еще одна распространенная ошибка - забыть написать [someInstance setSomeValue : 3]; вместо [someInstance someValue: 3] (< - неправильно). Это то, что случилось со мной.

1
ответ дан Jeremias Erbs 30 April 2012 в 16:43
поделиться