2016-07-03 2 views
1

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'という名前のタイプまたはプロトコルがありません

+0

新しいクラスヘッダーはCocoa.hをインポートしますか? –

+0

いいえ、動画にも表示されません。このビデオは下の記事からのもので、下部にギターリンクがあります。 githubプロジェクトでは、Cocoa.hはTableControllerクラスにインポートされません。 Cocoa.hをインポートした場合、エラーは消えてしまいます。しかし、なぜビデオで動作するのかわかりませんが、私にとってはうまくいかないのです。 http://pinkstone.co.uk/how-to-populate-an-nstableview-in-code/ –

+0

これは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 –

答えて

3

Cocoa.hをTableControllerクラスにインポートするだけで問題は解決します。このチュートリアルでXcode 5で働いたのは、Xcode 5(およびそれ以前のバージョンも同様)がCocoa.hをすべてのソースファイルにインポートしたpchファイルを作成したため、手動でTableControllerクラスにインポートする必要がなくなったからです。 Xcode 6以降は、新しいプロジェクトでpchファイルが作成されなくなったため、手動でCocoa.hをクラスにインポートする必要があります。 #import <Cocoa/Cocoa.h>を新しいクラスのFoundationインポート行の上か下に置くだけで、Cocoa.hをインポートできます。

関連する問題