タイトルはこの質問から借用しましたが、これは重複していません。その質問者にとって何が悪かったのかについては、私の回答を参照してください。私はその答えの作者であり、私の問題はそれではありません。
3 つの列を持つテーブル ビューがあり、その値バインディングはarrangedObjects配列コントローラーの 3 つのプロパティにバインドされています。配列コントローラーは、ドキュメント オブジェクトの にcontentArrayバインドされています。visitationResultsその配列内の項目は、モデル クラス (VisitationResult) のインスタンスです。selectionIndexesまた、配列コントローラとsortDescriptorsドキュメントのプロパティをバインドしました。
私はいくつかのアクセサーを介して自分のプロパティを変更しています:
- (void) addVisitationResult:(VisitationResult *)newVisitationResult {
[self insertObject:newVisitationResult inVisitationResultsAtIndex:[self countOfVisitationResults]];
NSLog(@"arrayController arrangedObjects: %@", [arrayController arrangedObjects]);
}
このNSLogステートメントが実行され、配列コントローラーがモデル オブジェクトを収集して配置していることを確認します。これは、私が自分のプロパティを調べて、ドキュメントの KVO 通知を取得していることを意味します (これは、以前の質問者の問題である、プロパティをバイパスするという問題が、私が抱えている問題ではないことを証明しています)。
NSLogモデル オブジェクト クラスのアクセサ メソッドにステートメントを追加しました。それらの 1 つは、オブジェクトを並べ替えるために、配列コントローラーによって呼び出されています (そのプロパティが並べ替えキーです)。配列コントローラーが知らない他の 2 つは呼び出されません。
したがって、テーブル ビューは空白のままです。