this NSTableViewチュートリアルに従おうとしています。私はXcode 7.3.1を使用しています。テーブルコントローラークラスを作成し、NSTableViewDataSource(ビデオの約5:11頃)に準拠させるときは、問題が発生したときです。 <の中にNSTableViewDataSourceを入力しようとすると、オートコンプリートには表示されません。手動でNSTableViewDataSourceを置くと、「NSTableViewDataSource」という名前のタイプまたはプロトコルはありません。なぜこのことが分かりませんか?このチュートリアルはXcode 5で作成されたもので、Xcode 7ではさまざまなものがあります。ファイル>新規>ファイルに移動してクラスを作成しました。 Xcode 7では "Objective C Class"オプションがないので、OS Xで "Cocoa Class"を選択します。ビデオのようにNSObjectのサブクラスを作成し、TableControllerという名前を付けました。私はそれをNSTableViewDataSourceに準拠させようとしましたが、そこで問題が発生しました。私は間違って何をしていますか?クラスを別の方法で作成する必要がありますか?'NSTableViewDataSource'という名前のタイプまたはプロトコルがありません
1
A
答えて
3
Cocoa.hをTableControllerクラスにインポートするだけで問題は解決します。このチュートリアルでXcode 5で働いたのは、Xcode 5(およびそれ以前のバージョンも同様)がCocoa.hをすべてのソースファイルにインポートしたpchファイルを作成したため、手動でTableControllerクラスにインポートする必要がなくなったからです。 Xcode 6以降は、新しいプロジェクトでpchファイルが作成されなくなったため、手動でCocoa.hをクラスにインポートする必要があります。 #import <Cocoa/Cocoa.h>
を新しいクラスのFoundationインポート行の上か下に置くだけで、Cocoa.hをインポートできます。
関連する問題
- 1. 'UIApplicationDelegate'というタイプまたはプロトコルがありません
- 2. タイプ 'UIViewController'の値にJSONという名前のメンバ 'jsonfile'がありません
- 3. タイプ "mp3_organizer"に "rf"という名前のメソッドのオーバーロードがありません
- 4. CTRP派生クラスに 'タイプ'という名前の型がありません
- 5. 名前空間 'std'の 'vector'がタイプの名前ではありません
- 6. タイプまたは名前空間の名前 'GCCheckbox'が見つかりません
- 7. タイプまたは名前空間の名前 '...'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありませんか?)
- 8. タイプまたは名前空間の名前 'ServiceController'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありません)
- 9. エラー: ""という名前のモジュールがありません
- 10. ModuleNotFoundError: 'ebaysdk'という名前のモジュールがありません
- 11. ModuleNotFoundError: 'xyz'という名前のモジュールがありません
- 12. ImportError:ntlkという名前のモジュールがありません
- 13. ImportError: 'posts.urls'という名前のモジュールがありません
- 14. ImportError:_backend_gdkという名前のモジュールがありません
- 15. openpyxlという名前のモジュールがありません - Python 3.6
- 16. ImportError:defaultsという名前のモジュールがありません
- 17. ImportError:sklearn(Python)という名前のモジュールがありません
- 18. igraphという名前のモジュールがありません - エラー
- 19. ImportError:Quandlという名前のモジュールがありません
- 20. Django ImportError: 'collection'という名前のモジュールがありません
- 21. TensorFlowインポートエラー:_pywrap_tensorflowという名前のモジュールがありません
- 22. ModuleNotFoundError: 'scipy'という名前のモジュールがありません
- 23. pyinstaller、インポートエラー:pywintypesという名前のモジュールがありません
- 24. ModuleNotFoundError: 'myfile.py'という名前のモジュールがありません
- 25. ModuleNotFoundError: 'django.urls'という名前のモジュールがありません
- 26. PyQt - ImportError: 'resource_rc'という名前のモジュールがありません
- 27. ModuleNotFoundError: 'Ipython'という名前のモジュールがありません
- 28. pymongoという名前のモジュールがありません - Jython
- 29. ImportError: 'pyrebase'という名前のモジュールがありません
- 30. python3 "ModuleNotFoundError: 'OpenGL'という名前のモジュールがありません"
新しいクラスヘッダーはCocoa.hをインポートしますか? –
いいえ、動画にも表示されません。このビデオは下の記事からのもので、下部にギターリンクがあります。 githubプロジェクトでは、Cocoa.hはTableControllerクラスにインポートされません。 Cocoa.hをインポートした場合、エラーは消えてしまいます。しかし、なぜビデオで動作するのかわかりませんが、私にとってはうまくいかないのです。 http://pinkstone.co.uk/how-to-populate-an-nstableview-in-code/ –
これはpchにインポートされています:https://github.com/versluis/Mac-TableViewCode/blob/master/ Mac%20TableViewCode/Mac%20TableViewCode-Prefix.pchいずれか一方が存在することを確認してください。他の誰かがすでにあなたと同じ問題を抱えていました:http://pinkstone.co.uk/how-to-populate-an-nstableview-in-code/#comment-55170 –