我正在學習語言學習應用程序。所以我有一個NSMutableDictionary
與'詞'作爲關鍵。這些鍵的對象與鍵'頻率'和'計數'嵌套在NSDictionaries
中。 NSNumbers是「頻率」和「計數」的對象。在內部嵌套的NSDictionary中按值排序NSDictionary
這裏是初始化代碼:
NSString* path = [[NSBundle mainBundle] pathForResource:@"french_top_50000"
ofType:@"txt"];
NSString *fh = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
self.userWordlist = [[NSMutableDictionary alloc] init];
for (NSString *word in fh) {
NSArray *keyArray = [[NSArray alloc] initWithObjects:@"frequency", @"count", nil];
NSArray *objectArray = [[NSArray alloc] initWithObjects:frequency, count, nil];
NSDictionary *detailsDict = [[NSDictionary alloc] initWithObjects:objectArray forKeys:keyArray];
[self.userWordlist setObject:detailsDict forKey:word];
}
我在一個表中顯示此列表的一部分,我想用「頻率」,內鍵的一個排序。我無法弄清楚如何做到這一點。
如果首先想到的是,「你爲什麼要這些信息存儲在一個嵌套的字典嗎?」,我想的話是因爲在應用程序的其它部分鍵我經常搜索,看是否有字在NSMutableDictionary中。
我想到了一個帶有以下鍵的扁平字典: 'word','frequency','count' ...但我必須枚舉以檢查是否包含單詞。
如果對於更好的數據結構策略有任何建議,我很樂意聽到他們的意見。我將經常檢查包含'單詞',不太經常會根據'頻率'或'計數'進行排序。
我見過很多類似這樣的問題,但它們都是用於扁平字典。