【发布时间】:2014-07-20 17:44:51
【问题描述】:
我正在使用 NSDefaults 并尝试在查找器中读取查找器收藏夹列表。此代码在命令行实用程序中返回该列表:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
[userDefaults addSuiteNamed:@"com.apple.sidebarlists"];
NSDictionary *list = [userDefaults dictionaryForKey:@"favoriteitems"];
NSLog(@"%@", list);
}
return 0;
}
不幸的是,返回的列表似乎已经过时了。
例如,如果我通过 finder 从 finder 收藏夹列表中删除一个条目,然后重新运行我的一小段代码,则删除的条目仍保留在列表中。在系统将 UserDefaults 缓存与磁盘同步之前,这似乎是正确的(例如,我可以通过重新启动计算机来强制执行此操作)。
有没有办法强制可可从首选项缓存中读取,而不是从磁盘中读取?
【问题讨论】:
标签: objective-c cocoa xcode5