18

まず最初に、私は Flash Builder (IDE) / AS3 のバックグラウンドを持っているため、Objective-C と Xcode に関してまったくの初心者であることを述べさせてください。最近、Objective-C の学習と Xcode の使用を開始しました。

私は今、最初のプログラムを書いていますが、Xcode のオートコンプリート機能が期待どおりに機能していないことに気付きました。使用しているクラスのタイプとは一見無関係な、あらゆる種類の値が表示されます。

私が宣言した場合:

NSFileManager *manager;

次に、 manager = [NSFileManagerここでコマンド+スペースを入力して入力するdefaultManagerと、提案の1つになると思います. また、提案はNSFileManagerクラスのメソッドとプロパティのみにする必要があります。これは、私が Flash Builder で慣れていた方法です。

これは Xcode のバグですか、設定ミスですか、それとも単に Xcode が動作するはずなのでしょうか?

オートコンプリート

4

12 に答える 12

16

プロジェクトの途中で Xcode 4 を 5 にアップグレードしたところ、サブグループ (プロジェクトのサブフォルダーに相当) で作成した新しいファイルはオートコンプリートされませんでしたが、最上位フォルダーの新しいファイルはオートコンプリートされました。私はこれを設定して修正しました:

Build Settings ==> Search Paths ==> Always Search User PathsYes。すべてのファイルがオートコンプリートになりました。

于 2014-01-21T16:39:29.197 に答える
9

ここで述べたように、多くの理由と解決策があります。

私にとっては、この解決策を助けてくれました: [設定] > [場所] > [派生データ] に移動し、矢印をクリックして Finder で開きます。"Derived Data" という名前のフォルダーを削除します。そして、すべてが再び機能します。

于 2014-10-30T13:52:50.617 に答える
3

新しい Xcode バージョンにアップグレードした後、同じ問題が発生しました。なんらかの理由で、Preferences > Text Editing > Suggest Completions に入力して選択を解除し、再度選択することでうまくいきました。

お役に立てれば。

于 2017-01-09T14:51:38.813 に答える
2

この問題は、プロジェクトが適切にインデックス化されていない場合に発生する可能性があります。

まず、インデックス作成が有効になっていることを確認してください。

アプリケーション->ユーティリティ->ターミナルを起動し、次のように入力します。

defaults write com.apple.dt.XCode IDEIndexDisable 0 

次に、DerivedData フォルダーに移動してファイルを削除します。

Finder を開き、~/Library/Developer/Xcode/DerivedDataに移動して、次のように入力します。

rm -rfv *

その後、Xcode を閉じて再度開き、Product -> Cleanに移動して、インデックス作成を待ちます。

于 2016-10-13T17:46:49.527 に答える
1

私の場合、グループ化に実際のフォルダーを使用したため、オートコンプリートが機能しませんでした...満足できません。満足できません。

Xcode 7.3 (7D175)

于 2016-04-26T12:07:08.833 に答える
0

同じターゲット/プロジェクトに複数の同じファイルが含まれていると、オートコンプリートが乱れることがあります (プロジェクトで重複ファイルを確認し、[プロジェクト] > [ビルド フェーズ] > [ソースをコンパイル] も確認して重複を排除します) 。

于 2015-05-07T11:18:17.243 に答える
0

なぜこれが起こっているのかについて、別の説明があります。最近、古いコードセットでこの問題が発生しました。多くの人が示唆しているように DerivedData を削除しようとしましたが、役に立ちませんでした。また、プロパティ名がグローバルに一意であることを確認しました。また、プロジェクトをクリーンアップして Xcode を再起動しても問題が解決しないことも確認しました。Xcode 6とXcode 7の両方で試しました。

最終的に、私の Xcode プロジェクトには iOS 6 との互換性が@property必要であり、参照する必要のあるクラス変数を .m ファイルで宣言できなかったことが原因である可能性が高いことがわかりました。それらをヘッダーファイルに移動することで、問題は解決しました。

以前のバージョンの iOS SDK では、変数をヘッダーで宣言する必要がありましたが、ヘッダーを整理するために (新しいプロジェクトでは) ファイル@propertyに変数を配置することに慣れました。.mしたがって、Xcode はオートコンプリートでそれらを認識することを拒否しましたが、ビルドは成功しました。

これが誰かに役立つことを願っています。私はそれがあまり一般的ではないシナリオであることを知っています。

于 2016-01-09T20:41:48.870 に答える