Objective c 使用NSMetadataQuery或MDQuery设置批处理参数

Objective c 使用NSMetadataQuery或MDQuery设置批处理参数,objective-c,xcode,macos,spotlight,nsmetadataquery,Objective C,Xcode,Macos,Spotlight,Nsmetadataquery,如果有人分享如何使用以下方法对查询进行批处理,这将很有帮助- - (void)setNotificationBatchingInterval:(NSTimeInterval)timeInterval 当与NSMetadataQuery一起使用或通过使用 void MDQuerySetBatchingParameters ( MDQueryRef query, MDQueryBatchingParams params ); 与MDQuery类一起使用时的结构 我对批处理的理

如果有人分享如何使用以下方法对查询进行批处理,这将很有帮助-

- (void)setNotificationBatchingInterval:(NSTimeInterval)timeInterval
当与NSMetadataQuery一起使用或通过使用

void MDQuerySetBatchingParameters (
    MDQueryRef query,  
    MDQueryBatchingParams params
);
与MDQuery类一起使用时的结构

我对批处理的理解是- NSMetadataQueryGatheringProgressNotification/kMDQueryProgressNotification将根据timeInterval/MDQueryBatchingParams中给定的值通知观察者


当我将0.001f传递给timeInterval的值时,我希望它每隔1毫秒通知该方法一次,但事实并非如此

我发现,当将这些值赋给MDQueryBatchingParams结构时,除了max_num值没有用处之外,其他值都按照我想要的方式工作。每毫秒都有通知,这样我就可以控制结果了

MDQueryBatchingParams params;
params.first_max_num = 100;
params.first_max_ms = 1;
params.progress_max_num = 1;
params.progress_max_ms = 100;
params.update_max_num = 100;
params.update_max_ms = 100;