2014-05-08 33 views
0

我剛開始在Xcode和Objective C.得到了鏈接錯誤,因爲我試圖執行一個新的m文件

工作,我創建了一個項目,一個故事板和執行我的整個程序到視圖 - 控制器。我想把這些代碼現在放到一個不同的m文件中,我只是簡單地包含它,並在視圖控制器中調用我的新m文件中的方法。

我的問題是,我每次嘗試構建它時都不會收到鏈接錯誤。

錯誤代碼是

1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

這是什麼原因?

+1

[Xcode的5 LD:用於建築的ARMv7鐺11個重複的符號:錯誤:連接命令,退出代碼1失敗(使用-v看到調用)的可能重複(http://stackoverflow.com/questions/19553067/xcode-5-ld-11-duplicate-symbols-for-architecture-armv7-clang-error-linker-com) – Ricky

回答

0

對於一個.h文件,不能有多個.m文件。您需要:

  1. 保留原始.m文件中的所有代碼。
  2. 用它自己的.h文件創建一個新類。
  3. 爲原始類創建一個類別。 (https://developer.apple.com/library/mac/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html

確保每個類只有一個@interface和一個@implementation聲明。

+0

我做了一個全新的m文件與它自己的h文件;)我從來沒有人會甚至會創建一個h文件的多個m文件^^ – Nerethar

+0

請確保您沒有意外複製@ class/@實現聲明中冷類的名稱。 – henryeverett

0

我發現我的問題。

我碰巧在兩個m文件中實現了與全局相同的變量。

相關問題