0

NSTableView があり、自動保存を設定して列のサイズ変更と並べ替えを維持しようとしています。

属性インスペクタで、「テーブル ビュー」の下の「自動保存」フィールドに値を入力し、「列情報」をチェックしました。

アプリをビルドして実行すると、次のエラーが表示されます。

Column identifiers used with NSTableView autosave feature must conform to NSCoding protocol: (null)

私は Cocoa/Objective-C を初めて使用するので、列識別子をどのように定義するかが明確ではありませんか?

更新:識別子の値を入力しませんでした。「自動」としてリストされています。ただし、テーブル列の識別子に文字列値を入力しても、同じ結果が得られます

更新 II : 手動で値を入力した後、クリーニングと再構築により修正されたようです。しかし、なぜ自動識別子が機能しないのでしょうか?

4

3 に答える 3

1

手動で値を入力した後、クリーニングと再構築により修正されたようです。しかし、なぜ自動識別子が機能しないのでしょうか?

Interface Builder は、入力の受け入れに関して不安定な場合があります。彼らは、IB を Xcode 4 に直接統合するというかなりのやり直しを行い、多くの奇妙なバグを追加しました。

Apple は、Xcode 4 で IB を安定させるという適切な仕事をしており、ポイント リリースが公開されています。必要なクリーン/再構築の量は、以前よりもはるかに少なくなります。

于 2013-02-12T20:35:54.250 に答える
0

この質問に対する回答はどれも、実際には満足のいくものではありません。はい、それぞれに識別子の値を設定する必要がありますNSTableColumn。「自動」識別子は明らかに機能しません(Xcode 7.2以降)。しかし、これらをどこに設定しますか?識別子は、IB ペインの [Value Inspector] にありません。期待される場所です (そこで探して、頭を悩ませました)。むしろ、小さな新聞のように見える IB ペインの Identity Inspector にあります。おそらくすべての nib オブジェクトの一般的なプロパティ (?) だと思いidentifierますが、以前はそれを他の目的で使用する必要があったことを思い出したことがないので、そこにあることに気づきませんでした。identifierとにかく、他の人がどこに設定できるかについて、私と同じように困惑した場合に備えて、この回答を追加しています...

于 2016-02-09T16:01:00.997 に答える
0

各列に識別子があることを確認するまで、この問題がありました。その後、うまくいきました。

于 2015-06-03T00:59:37.627 に答える