2

私は NSTableViewDataSource のドキュメントを見ていましたが、このプロトコルは osx 10.6 でのみ利用可能であると言われています。どうすればいいの?NSTableViewDataSource は、NsTableView のすべてのデータを含むオブジェクトではありませんか?

4

3 に答える 3

4

@Zydeco が書いたことを追加すると、Objective-C の s には10.5 より前の属性@protocolがありませんでした。@optionalしたがって、デリゲート オブジェクトはデリゲート メソッドの一部のみを実装することを選択するため、Apple は@protocolデリゲート メソッドとは何かを定義するために使用できませんでした。Apple はその昔、非公式プロトコルと呼ばれるものを使用していましたが、それは単なるNSObjectカテゴリでした。

@optional一部のメソッドをaとしてマークする方法を導入したので@protocol、10.6 ではすべてのデリゲートを正式なプロトコルにすることにしました。このようにして、コンパイル時のチェックを増やすことができます。しかし、機能は変わっていません。

詳細については、プロトコルに関する公式ドキュメントを参照してください。

于 2010-01-27T19:35:25.757 に答える