2016-03-16 4 views
-1

Я являюсь промежуточным программистом и новичком для Objective-C и X-Code. Я имею в виду, что означает дублирование символов в общем случае, то есть наличие дублирующего класса или переменной где-то в моем коде. Я пытался следить за учебниками appcoda, и я застрял на этой ошибке с повторяющимися символами. Я использую Xcode 6, уроки иногда устарели, но это не тот случай. Я последовал за этим примером, как и многие другие, шаг за шагом, однако я не могу заставить свой собственный код работать.Duplicate Symbols tutorial IOS

here is a screenshot of the error I get

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

+0

мая вы открытого "проекта навигатора" и введите «RecipeC ollectionHeaderView "в строку поиска? Сколько результатов вы можете увидеть? только RecipeCollectionHeaderView.h и RecipeCollectionHeaderView.m или несколько из них? – ZevsVU

+0

Можете добавить скриншот результатов в свой вопрос? – ZevsVU

+0

Я вижу 4. Я бы с радостью приложил скриншот, если бы знал, как это сделать. Я новичок здесь. – R2D2

ответ

0

Если у вас есть 4 файла. Вы должны вырезать/переименовать два из них. Лучше добавить префикс (см. Ниже). У вас может быть только 1 класс с уникальным именем (потому что у вас нет пространств имен в ObjC) => У вас может быть только один файл «.h» и только один «.m» файл. Поэтому вам нужно использовать префиксы.

Я не уверен, но, возможно, это поможет вам решить вашу проблему раз и навсегда.

Conventions

Для того, чтобы сохранить имена классов уникальны, конвенция является использование префиксов по всем классам. Вы заметили, что имена классов Cocoa и Cocoa Touch обычно начинаются с NS или UI. Двухбуквенные префиксы, подобные этим, зарезервированы Apple для использования в классах инфраструктуры. Как вы узнаете больше о какао и Cocoa Touch, вы будете сталкиваться с множеством других префиксов, которые относятся к конкретным рамкам:

NS Foundation (OS X и IOS) и комплект приложений (OS X)

UI UIKit (IOS)

AB Адресная книга

CA Core Animation

CI ядро ​​изображение

+0

Умм, спасибо, я буду помнить об этом, но это, похоже, не решает мою проблему, поскольку это не касается класса, класс действительно уникален, с другой стороны ключевое слово, которое генерирует вышеприведенную ошибку, используется все вокруг этого проекта, и кажется, что я пропустил его как-то. Вот более подробное описание. Если это необходимо, я буду прикреплять скриншоты со всем кодом. http://s17.postimg.org/ss6t1l38v/screenshot_detailed.png – R2D2