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. 名前空間 'std'の 'vector'がタイプの名前ではありません
- 4. タイプまたは名前空間の名前 'ServiceController'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありません)
- 5. タイプまたは名前空間の名前 '...'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありませんか?)
- 6. エラー: 'pthread'のタイプに名前がありません
- 7. [Qt]: 'CButton'のタイプに名前がありません
- 8. "ImportError:pywintypesという名前のモジュールがありません"
- 9. django_auth_ldap ldapという名前のモジュールがありません
- 10. ImportError: 'index'という名前のモジュールがありません
- 11. エラー:qgisという名前のモジュールがありません
- 12. pyopencl(Py2exe)という名前のモジュールがありません
- 13. ImportError:pandasという名前のモジュールがありません
- 14. Python - read_pickle ImportError:indexes.baseという名前のモジュールがありません
- 15. unusual_prefix_ *という名前のモジュールがありません。
- 16. Python 2.7.12 - ImportError:pyeda.interという名前のモジュールがありません
- 17. ImportError: 'botocore.parameters'という名前のモジュールがありません
- 18. ImportError:httplib2という名前のモジュールがありません
- 19. ImportError:_backend_gdkという名前のモジュールがありません
- 20. ImportError:xchatという名前のモジュールがありません
- 21. ImportError:NetCDFという名前のモジュールがありません
- 22. ImportError:xxxxxという名前のモジュールがありません
- 23. 'pandastable'という名前のモジュールがありません
- 24. Jython 2.5.1: "ImportError:osという名前のモジュールがありません"
- 25. ImportError: 'bokeh.layouts'という名前のモジュールがありません
- 26. kerasという名前のモジュールがありません
- 27. ImportError: 'pyrebase'という名前のモジュールがありません
- 28. buildout.buildoutという名前のモジュールがありません
- 29. agw.auiという名前のモジュールがありません
- 30. twilioという名前のモジュールがありません
新しいクラスヘッダーは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 –