2012-05-31 31 views
1

我有一個荒謬的Xcode 4.3.2的問題。每當我聲明一個新變量,如 NSMutableDictionary *var = [NSMutableDictionary alloc] init];,Xcode自動完成NSMutableArray LHS的表達,但不是在RHS。爲什麼在分配/初始化變量時Xcode自動完成失敗?

Xcode Autocomplete issue

這是明顯刺激性。通常會導致我必須重新校正錯別字,並且肯定會妨礙流程。根據我的經驗,在任何其他情況下都不會發生。

其他人曾經遇到過這個?我應該提出一個錯誤嗎?

+0

在你的截圖中,NSMutableDictionary的自動完成將是錯誤的,因爲沒有開放方括號。更好的屏幕截圖會阻止像我這樣的學生做無用的評論。 – jrturton

+0

它實際上與打開方括號一起使用。但我通常使用插入結束括號自動插入開頭的樣式。 – chirag

+0

當我使用任何變量而不是類名稱時,如何在同一個地方自動完成工作? – chirag

回答

4

我認爲這是因爲Xcode不知道您是否想對該類進行一些操作並嘗試找到合適的變量。所以如果你想讓Xcode在RHS中自動完成你的類名,首先編寫[]然後開始在裏面輸入:[NS...]

+0

那麼這是什麼時候RHS以Class Name開頭的?因爲如果我向實例發送消息,它會在RHS上完美自動完成。 – chirag

+0

例如在'NSMutableDictionary * var = [someDict copy];',Xcode autocompletes someDict完全好。 – chirag

+0

似乎這確實是正確的答案。根據RHS中的@jrturton,自動完成顯示可能的匹配結果導入到變量中。 作爲一個經驗法則,應該始終輸入[]以使自動完成適用於類方法。 – chirag