Objective-C的新手在這裏...如何在Objective-C中執行多維查找表?
我有一個唯一的字符串代碼作爲我想用來查找關聯值的鍵。
看來一個NSDictionary是我正在尋找,但我相信這只是用來查找給定的鍵的一個值。
任何人都可以提供如何聲明/填充多維不可變NSDictionary的代碼?此外代碼來檢索值?
另外,請讓我知道我要對這個錯誤的方式
感謝
Objective-C的新手在這裏...如何在Objective-C中執行多維查找表?
我有一個唯一的字符串代碼作爲我想用來查找關聯值的鍵。
看來一個NSDictionary是我正在尋找,但我相信這只是用來查找給定的鍵的一個值。
任何人都可以提供如何聲明/填充多維不可變NSDictionary的代碼?此外代碼來檢索值?
另外,請讓我知道我要對這個錯誤的方式
感謝
編輯:字典中的數組示例...使用您的評論中的示例數據。
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init];
NSArray *firstSet = [[NSArray alloc] initWithObjects:43, 22];
NSArray *secondSet = [[NSArray alloc] initWithObjects:32, 50];
[myDictionary setValue:firstSet forKey:@"010"];
[myDictionary setValue:secondSet forKey:@"011"];
// Get a value out - should be the 50 that you want
NSInteger *myValue = [[myDictionary objectForKey:@"011"] objectAtIndex:1];
未測試 - 但應該是95%正確。這有意義嗎?
你可以讓你想要的任何對象是在NSDictionary
給定鍵的值。這包括NSArray
甚至另一個NSDictionary
。使用這些中的任何一個都可以讓您將多個值與一個鍵相關聯。
是的,我想這樣我似乎無法找到一個好的代碼示例。無論如何,你可以提供一個? – sayguh
對於嵌套的NSDictionaries
或自定義的KVC complient類,您可以使用keyPaths
和嵌套的NSArrays
indexPaths
。
另外stackoverflow會給你很多例子。
嗯,不幸的是,我似乎無法得到它的工作。你能夠提供實際的價值嗎?即如果格式是[唯一碼,百分比1,百分比2]並且條目1是[010,43,22],則條目2是[011,32,50]?然後展示如何從第二個入口獲得50個?如果這太要求我理解 – sayguh
我的例子在字典中嵌入字典,所以你需要兩個鍵才能達到50 - 這是我的答案,以回答你的'多維詞典'。現在你已經解釋了你的問題,我有一個問題。您可以將您的示例作爲存儲在字典中的數組來執行。我會試着重寫這個例子。 – iandotkelly
@sayguh - 我已經更新了示例。如果你擔心這會花費太多時間 - 不用擔心,但是如果它能幫助你,請不要忘記加註和/或接受答案。這是人們如何「獎勵」其他人在這裏獲得幫助,如果你不這樣做,那麼人們會注意到並停止回答問題。樂意效勞。 – iandotkelly