2012-02-21 137 views
0

我有一個名爲PrimeNumber的類,我最近編寫了這個類,它在基礎工具和Mac應用程序中工作得非常好。但是,嘗試在iPhone應用程序中使用它失敗。我加入的.m和.h文件到我的項目,進口這樣.h文件到我的ViewController.h:添加類時出現錯誤消息

#import "PrimeNumber.h" 

試圖用我的PrimeNumber類中聲明的方法和運行我的應用程序後, Xcode向我展示了兩個錯誤:

Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_PrimeNumber", referenced from: 
objc-class-ref in ViewController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

PrimeNumber.h和PrimeNumber.m文件在項目導航器中不是紅色。產品>清潔也不起作用。另外,因爲我的類沒有在框架中聲明,所以我認爲這不是問題。

誰能告訴我我做錯了什麼?謝謝!

編輯:將類名更改爲PrimeNumbers,然後創建一個名爲PrimeNumber的新Objective-C類,並將PrimeNumbers類的.h和.m文件的完整內容複製粘貼到.h和.m中PrimeNumber類的文件爲我工作。奇怪的,但它的工作。 :)

+0

PrimeNumber.h'是否也導入'ViewController.h'? – fscheidl 2012-02-21 16:53:35

+0

不,它沒有。 – 2012-02-21 17:43:10

+1

重命名和複製和粘貼工作,因爲當你通過Xcode添加一個新類時,它會自動將它添加到編譯源構建階段。當你將源文件拖放到你的項目中時,不會這樣做。 – 2012-02-21 17:47:51

回答

1

您還必須將其添加到「編譯源」構建階段。 項目 - >目標 - > [你的目標] - >構建階段 - >編譯源(只需拖動PrimeNumber.m

+0

謝謝,解釋! – 2012-02-21 20:36:01