2017-08-18 92 views
-4

所以我編輯我的帖子是爲了更清楚。我是xcode和Swift 3的新手,我面臨一個奇怪的問題。我的項目包含幾個swift文件。我把我所有簡單的常用方法放到了Utils.swift中,例如簡單的字符串函數等。多年來,我沒有任何問題,但是經過一段時間,xcode始終都在用我的方法在所有文件中用紅色感嘆號抱怨如果我從Utils.swift文件調用我的方法:「使用未解析的標識符'xxx'」。使用未解決的標識符虛假警告Swift 3 xcode

// debug is a bool variable declared before 

Utils.swift:

func log(_ message: String) { 
    if debug { 
     print(message) 
    } 
} 

ViewController.swift:

log("Error happened") 

這給出了一個錯誤 「使用未解決的識別符 '日誌' 的」。很明顯,函數在那裏,所以我不明白爲什麼在編碼時我會得到這個帶有驚歎號的紅色警告,但是當我點擊Build時,它是成功的,並且它運行完好並且警告消失。只要我再次在代碼區中輸入,紅色錯誤就會回來。如果我再次構建它,它又會成功。這對我沒有任何意義。

我認爲這可能是一個緩存問題,xcode live問題函數不能識別我的Utils.swift或類似的東西...所以我清理了build文件夾(cmd + shift + option + K),我清理了該項目(產品>清潔),重新啓動xcode,重新啓動Mac,刪除Utils.swift,重新添加Utils.swift到項目,但不能擺脫這些錯誤的警告在編碼,但如果建立項目是好的。我在其他項目中沒有這個問題。任何想法?

+0

好簡單,你可以在這裏粘貼你的代碼,看看有什麼問題,你無法弄清楚。 –

+0

我認爲這不是關於代碼,因爲我在我的帖子中描述了這個問題。代碼完美地構建。它必須是一些設置或...我不知道。但對於這個請求,我用代碼更新了我的問題。這會給出錯誤「使用未解析標識符」日誌「」。很明顯,函數在那裏,所以我不明白爲什麼我在編碼過程中得到這個帶有驚歎號的紅色警告,但是當我點擊Build時,它是成功的,並且運行完美。只要我再次在代碼中輸入,紅色錯誤就會回來。 – mavicBreak

+0

由於您是Swift的新手,請習慣命名約定,即函數/方法名稱,變量/屬性名稱和枚舉類型以小寫字母開頭。 – vadian

回答

0

好的,我自己找到了答案。點擊swift文件(現在是Utils.swift),我必須在文件檢查器中選擇「相對於組的位置」,並設置適當的目標成員資格。

奇怪的是,儘管之前的「錯誤」設置構建完成成功,但它會在代碼區域中出現錯誤。

相關問題