Дублирование ошибки интерфейса в xcode - PullRequest
0 голосов
/ 31 мая 2011

Я даже не уверен, как начать.Я занимаюсь разработкой приложения для iPhone с последними версиями Xcode и sdk, используя базовый график и библиотеку асинхронных сокетов ядра.Все было хорошо до тех пор, пока несколько часов назад, когда XCode сбросил тонну «дублирования интерфейса» ошибок без видимой причины.
Два файла, которые излучают ошибки, - это AsyncSocket.h и клиент APIчто я написал для того, чтобы получить данные с целевого сервера.
Ошибки следующие:

  • Вложенная ошибка переопределения для всех перечислений в AsyncSocket.h и моего клиента API.
  • Повторная декларация enum для всех перечислений в AsyncSocket.h и моем клиенте API.
  • Дублирующая декларация интерфейса в AsyncSocket.h и файл интерфейса клиента API.
  • Ошибка произошла между двумя сборками приложения. НИЧЕГО изменилось за это время, поэтому я даже не могу начать думать, что является причиной этого.

Клиент API - это действительно простая вещь, он просто использует асинхронный сокет для отправки запросов на сервер, а затем возвращает проанализированные результаты в массивах.Ничего сложного, так как я пока не вхожу в цель c.
Хотелось бы мне дать больше полезной информации, но это все, что у меня есть.

Ответы [ 3 ]

4 голосов
/ 03 декабря 2012

Я считаю, что ваша проблема возникла из-за простой ошибки. В заголовочном файле вы начинаете с:

@interface ClassName : SuperclassName

в то время как в файле .m вы делаете:

@interface ClassName ()

Когда вы забываете скобки, компилятор жалуется.

Надеюсь, это поможет. Наилучшие пожелания с вашим приложением.

0 голосов
/ 12 сентября 2011

Я также столкнулся с сообщением об ошибке «Duplicate Interface Definition» и отследил его до того, что поместил «#include xxx.h» в файл заголовка (.h) вместо файла .m, куда я намеревался его поместить.

0 голосов
/ 19 августа 2011

У меня была эта проблема, и ответ выше поставил меня на правильный путь.

Я создал новую запись enum в файле .h, который я использую для всех своих констант.

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

Без сомнения, вы уже решили эту проблему, но это может решить чьи-то проблемы в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...