2013-05-31 68 views
2

我們知道在2012年WWDC蘋果已經提供了現代目標C文字/語法https://developer.apple.com/videos/wwdc/2012/?id=405n現代目標C語法

我知道我們可以使用重構選項,我們的代碼轉換成現代的目標C.(Xcode中 - >編輯 - >重構 - >轉換爲現代Objective C)。

現在我的問題是,我們可以通過任何腳本檢查項目代碼是否使用了現代客觀C語法或者不明確嗎?

正如許多人都知道,我們可以將「TODO」,由下面的腳本

KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:" 
    find "${SRCROOT}" \(-name "*.h" -or -name "*.m" \) -print0 | xargs -0 egrep --with-  filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/" 

以同樣的方式我想提出警告,「整我」到警告,如果現代Objective C的語法在缺少我的代碼,以便我可以重構它!

+0

經常使用的東西是'array [index]'..你可以檢查它。 –

+0

你的意思是說每個指導方針,我們需要把語法檢查?有沒有優化的方法? – Swapnil

+1

我沒有任何想法。但爲什麼你需要檢查?如果你在舊時使用new-syntax,那麼它不會編譯,對於其他情況它沒有問題。 –

回答

0

因此,看看NSArray和NSDictionary,並計算現代語法替換的所有方法(即objectAtIndex),然後搜索這些方法。你可能會得到一些錯誤的匹配。

+0

是的。這可能是對每個點進行檢查的方法之一......謝謝大衛 – Swapnil