CoreData に裏打ちされた NSArrayController にバインドされた NSPopupButton があります。
NSArrayController をサブクラス化して、fetchLimit と SortDescriptor を設定しました。
問題は次のとおりです。
FetchLimit は、初期ロードにのみ適用されます。エントリがプログラムによって CoreData Store に追加されると、NSPopupButton は新しいエントリを反映して表示しますが、フェッチ制限は適用しません。また、merge: パラメーターを NO に設定しようとしましたが、これは更新/再フェッチには影響しないようです。
- (BOOL) fetchWithRequest:(NSFetchRequest *)fetchRequest
merge:(BOOL)merge
error:(NSError **)error
{
if(fetchRequest)
[fetchRequest setFetchLimit:10];
NSLog(@"fetchWithRequest: %@", fetchRequest);
return [super fetchWithRequest:fetchRequest merge:NO error:error];
}
私は何かを逃していますか?